【汇编程序】在buf1和buf2开始处各有一个不同的16位有符号数 将较大的数放入ax 小的数放入bx

;程序需求:在buf1和buf2开始处各有一个不同的16位有符号数 将较大的数放入ax 小的数放入bx
dseg segment;定义数据段 dseg 是自定义段名 segment是定义段的关键字----segment 段定义语句
     buf1 dw 8765h   ;//DW定义两个字节的空间
     buf2 dw 5678h
dseg ends   ;dseg是自定义段名称  ends是段结束的标志  segment和 ends成对使用
cseg segment     ;定义代码段 cseg 是自定义代码段名称 segment是段定义语句
    assume cs:cseg,ds:dseg    ;段分配语句assume 为指定的段关联
 start:mov ax,buf1    ;start 是标号 表示该指令的符号地址 常作为转移指令的操作数 标号后面必须添加:冒号
       cmp ax,buf2    ;cmp 是字符串比较指令 cx=0 或zf=1才停止比较
       jl ABC         ;jl j low 小于跳转指令到ABC处
       mov bx,buf2    ; 如果jl不符号条件的话,说明buf2中的数是小数
       jmp done       ; 程序结束完成后 跳转到done处
   abc:mov ax,buf2    ;将buf2的偏移量赋值给ax    ax中的数 较大 赋值给ax
       mov bx,buf1    ;将buf1的偏移量赋值给bx    bx中的数 较小 赋值给bx
   done:mov ah,4ch    ;mov ah,4ch 程序终止
       int 21h      ;读入键值 并显示该字符
   cseg ends        ;cseg ends 标志表示代码段结束
 end start          ;end start 程序结束
原文地址:https://www.cnblogs.com/qxlxi/p/12860895.html