IDE : Masm for Windows 集成实验环境 2015
OS : Windows 10 x64
typesetting : Markdown
blog : my.oschina.net/zhichengjiu
错误的示例
code
;未分段
;将数据写到了代码段中
;无start-程序入口标签
codes segment
assume cs:codes
dw 0123h,4567h,0abcdh
mov bx,0
mov ax,0
mov ah,4ch
int 21h
codes ends
end
debug
1
- 居然报错了,可是代码中没有 div 指令呀?感兴趣的同学,可以使用debug调试一下
2
- 0700 : 0000 到0005是没见过的指令。其实这个是数据,只是因为代码的错误编写,导致debug把这些数据当成了代码。
3
- debug调试图
经过修改与优化的示例
code
;分段
;数据写到了数据段
;有start
datas segment
;数据段代码
dw 0123h,4567h,0abcdh
datas ends
stacks segment
;堆栈段代码
stacks ends
codes segment
assume cs:codes,ds:datas,ss:stacks
start:
mov ax,datas
mov ds,ax
;代码段代码
mov bx,0
mov ax,0
mov ah,4ch
int 21h
codes ends
end start
debug
1
2
reference
- [1] 王爽. 汇编语言.第3版[M]. 清华大学出版社, 2013.
resource
- [ IDE ] www.jiaminsoft.com
- [ DOSBox ] www.dosbox.com
- [ emu8086 ] www.emu8086.com
- [ 平台 ] www.asmedu.net
- [ 平台 ] www.oschina.net
- [ 平台 ] gitee.com
感谢帮助 志成就 的人们。
不同芯片的汇编指令存在差异,嵌入式和信息安全领域中会见到汇编语言。
汇编/C/C++等可以进行硬件编程,要结合社会需求与个人爱好有选择地进行学习。眼界需要开阔。
该博文仅可用于测试与参考。
欢迎关注微信公众号:悟为生心