美文网首页
完整汇编程序

完整汇编程序

作者: 我的昵称在不在 | 来源:发表于2018-02-06 18:46 被阅读0次

    1.

    assume cs:code
    
    code segment
    
        mov ax, 1122h
        mov bx, 3344h
        add ax, bx
        
        ;下边这两句正常退出程序
        mov ah, 4ch (或者mov ax, 4c00h)
        int 21h
    
    code ends
    
    end
        
    

    2.中断

    • 常见的中断
      • int 10h 用于执行BIOS中断
      • int3 是“断点中断”,用于调试程序
      • int 21h 用于执行DOS系统功能调用,AH寄存器存储功能号
        执行系统功能需要传递参数
        eg:
        mov ax, 4c00h  ;传递参数
        int 21h
        

    3.打印Hello World!

    assume cs:code, ds:data ;提醒开发者每个段的含义(伪代码)
    
    ;--------数据段 begin--------
    data segment
        age db 20h
        no dw 30h
        db 10 dup(6)  ;生成10个连续的6
        string db 'Hello World!$' ;$代表结束
    data ends
    ;--------数据段 end----------
    code segment
    start:
        ;手动设置ds的值
        mov ax, data
        mov ds, ax
        
        mov ax, no
        mov bl, age
        
        ;打印
        mov dx, offset string ;也可以替换为 mov dx, 13(因为H的偏移地址是13)
        ;offset string代表string的偏移地址
        mov ah, 9h
        int 21h
        ;退出
        mov ax, 4c00h
        int 21h
    code ends
    ;----------代码段 end-----------
    ;编译结束,start是程序入口
    ;start所在的段就是代码段
    ;相当于cs的值已经自动设置完毕
    end start
    

    相关文章

      网友评论

          本文标题:完整汇编程序

          本文链接:https://www.haomeiwen.com/subject/jhfnzxtx.html