keil里面怎么建立汇编?并写出详细步骤。

keil里面怎么建立汇编?并写出详细步骤。,第1张

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汇编,那就不知道了

名称:set_doc.asm

功能:建立文件

data segment

FName db 'TEST.TXT',0

FErr db 'File error...', 07h, 0

FSucc db 'File success!', 07h, 0

data ends

code segment

assume CS:code DS:data

$start: mov AX, data

mov AX, DS

mov DX, offset FileName DS:DX=文件名字符串首地址

mov AX, 3c00h

int 21h

jnc OKMsg 新建成功,转

mov SI, offset FErr 失败信息显示

mov DL, [SI]

inc SI

jz OVER

mov AH, 2

int 21h

OKMsg: mov SI, offset FSucc 成功信息显示

mov DL, [SI]

inc SI

jz over

mov AH, 2

int 21h

OVER: mov AH, 4ch

int 21h

code sends

end $start


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11862300.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存