;程序需求:在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 程序结束