1. keil里面怎么建立汇编啊,能写出建立文件的步骤来吗
1 新建工程,这时会让你选择要不要加入KEIL的启动代码,随便选(最好选是)2 新建新文件,保存为xx.asm或xx.a513 把刚才的文件加入到工程4 如果你开始时选否,即未加入启动代码,那么启动跳转、堆栈SP的初始化、内存初始化、重入栈初始化、标准51寄存器定义、段定位等都要自己弄,估计你搞 不定,但是这样你可以自由写5 如果你选的是加入KEIL的启动文件,那么这些你就不必写,都好了,但是问题是这个启动文件 最初的目的是针对C51程序写的,因为这个启动文件的最后一句是去调用main()函数段,所以你 要么把这个main()函数段的申明和调用都去掉,让他去调用你自己 的函数段,要么你就干脆写个他想调用的那个main函数段段名,让他以为 就是main函数,让他调用好了6 再简单一点,你也别新建什么文件,直接删掉它的最后一句main调用和main函数段申明,就在删掉 的那里写自己的程序7 再再简单一点,启动文件也别要了,直接新建asm文件,从地址0开始写 ORG 0000H,如果你的程序足够简单, 也不一定要什么函数段、不一定要修改SP、更不必关心什么重入呀、初始化代码呀8 如果你问的不是51汇编,那就不知道了。
2. keil里面怎么建立汇编
1 新建工程,这时会让你选择要不要加入KEIL的启动代码,随便选(最好选是)
2 新建新文件,保存为xx.asm或xx.a51
3 把刚才的文件加入到工程
4 如果你开始时选否,即未加入启动代码,那么启动跳转、堆栈SP的初始化、
内存初始化、重入栈初始化、标准51寄存器定义、段定位等都要自己弄,估计你搞
不定,但是这样你可以自由写
5 如果你选的是加入KEIL的启动文件,那么这些你就不必写,都好了,但是问题是这个启动文件
最初的目的是针对C51程序写的,因为这个启动文件的最后一句是去调用main()函数段,所以你
要么把这个main()函数段的申明和调用都去掉,让他去调用你自己 的函数段,要么你就干脆写个他想调用的那个main函数段段名,让他以为 就是main函数,让他调用好了
6 再简单一点,你也别新建什么文件,直接删掉它的最后一句main调用和main函数段申明,就在删掉 的那里写自己的程序
7 再再简单一点,启动文件也别要了,直接新建asm文件,从地址0开始写 ORG 0000H,如果你的程序足够简单, 也不一定要什么函数段、不一定要修改SP、更不必关心什么重入呀、初始化代码呀
8 如果你问的不是51汇编,那就不知道了
3. KEIL怎么编译汇编
错误很多处:
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP TIME0_VECTOR
ORG 0100H
MAIN:
MOV R0,#0
SETB EA
MOV TMOD,0X01 ;汇编不能用0xXX表示,要用#01H 。以下同
MOV TH0,0X3C
MOV TL0,0XB0
CLR P0.0
SETB TR0 //50ms定时 ;汇编的注释要用分号,你这是C的注释。以下多处同此
LOOP:
AJMP LOOP
ORG 0200H
TIME0_VECTOR:
MOV TH0,0X3C
MOV TL0,0XB0
CLR TF0
INC R0
SUB R0,10 :是不是#10?
JNZ NEXT
MOV R0,#0
CLR P0.0 //R0满10,灯ON
RETI
NEXT:
SUB R0,4
JNC OFF //不够减小于10,不变
RETI , ;多了逗号?
OFF: ,
SETB P0.0 //R0大于4,灭OFF
RETI
;没有END
4. keil如何用汇编编写如下一个用查表法的程序
;
RL A
MOV B, A
MOV DPTR, #TAB
MOVC A, @A + DPTR
MOV R7, A
MOV A, B
INC A
MOVC A, @A + DPTR
MOV R6, A
RET
TAB:
DW 0, 1, 4, 9, 16, 25, 36, 49, 。, 400 ; 平方数据表,楼主自己补全吧。
END
5. keil C51怎么把C语言转成汇编
1. C文件上点右键,点“Option for 。”,然后勾选右侧的“Generate Assembler SRC File”,就会生成对应文件名扩展名为.SRC的汇编文件了。
2. 在调试界面点那个放大镜图标,或者菜单中点“View”然后点“Disassembly Windows”,就可用看到汇编代码了,这时按F10/F11单步执行的是每一句对应的汇编语句,而不是C语句。
3. 点击工具栏上一个红色的"D",进入调试状态,再把鼠标点到c代码处,右键查看汇编代码,就可以看到所以c编译后的汇编代码了。