8086汇编基础 start 程序入口标签的示例

原创
2019/10/19 13:09
阅读数 1K

    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++等可以进行硬件编程,要结合社会需求与个人爱好有选择地进行学习。眼界需要开阔。
该博文仅可用于测试与参考。
欢迎关注微信公众号:悟为生心

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部