汇编-8086 Hello World

  • 利用栈两个值交换
mov ax, 1000h
mov bx, 1001h

push ax
push bx

pop ax
pop bx
  • 一个完整的程序
assume cs:code
 
:代码段
code segment
     mov ax, 1000h
     mov bx, 2000h
     mov cx, 1000h
     mov ds, cx
     mov [0], ax
     mov [1], bx
            
     :正常退出
     mov ax, 4c00h
     :中断
     int 21h
code ends
end

编译器只关注ax高位4c

mov ax, 4c00h == mov ah, 4ch 
  • 常见中断
    • int 10h用户执行BIOS中断
    • int 3h断电中端
    • int 21h用户执行DOS程序中断
  • Hello World
assume cs:code, ds:data   

:数据段   
data segment
   
data ends     
   
:代码段
code segment
   :$结束
   db "a-Hello World!$"  
   db "13213213$"   
:程序执行入口
start:
   :将代码端关联
   mov ax, data 
   mov ds, ax   
   
   :从哪里开始打印
   mov dx, 0h      
   :打印字符串
   mov ah, 9h
   int 21h 
   
   :退出程序
   mov ax, 4c00h
   int 21h
   
code ends

end start
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容