2.txt
资源名称:2.rar [点击查看]
上传用户:lgm502529
上传日期:2021-05-12
资源大小:1k
文件大小:2k
源码类别:

Windows编程

开发平台:

DOS

  1. 在BUF数据区中放有三个双字节数,现要求将这三个数按从大到小次序重新存放。分别将这些数视为有符号数和无符号数这两种情况编写程序。上机调试程序,检查执行结果。
  2. ;Filename:yun1.asm
  3.   .486
  4.   data segment use16
  5.   buf dw 2233h,1122h,4455h ;假设的三个无符号数  
  6.   data ends      
  7.   code segment   use16
  8.   assume cs:code,ds:data  
  9.   start: mov ax,data   
  10.   mov ds,ax     
  11.   mov ax, buf   
  12.   mov bx,buf+2
  13.   mov cx,buf+4  
  14.   cmp ax,bx        ;第一个数与第二个数比较  
  15.   jnc next1             ;若第一个数大于或等于第二个数,则转到next1比较第一和第三个数
  16.   xchg ax,bx       ;若第一个数小于第二个数,则交换  
  17.   next1:   
  18.   cmp ax,cx        ;第一个数与第三个数比较  
  19.   jnc next2             ;若第一个数大于或等于第三个数,则转到next2比较第二个和第三个数
  20.   
  21.   xchg ax,cx       ;若小于,则交换 
  22.   next2:    
  23.   cmp bx,cx        ;第二个数与第三个数比较  
  24.   jnc next3   
  25.   xchg bx,cx    
  26.   next3:
  27.   mov buf+4,cx
  28.   mov buf+2,bx
  29.   mov buf,ax
  30.   mov ah,4ch   
  31.   int 21h               ;返回DOS
  32.   code ends   
  33.   end start             ;汇编结束
  34. 无符号数
  35.   ;Filename:yun1.asm
  36.   .486
  37.   data segment use16
  38.   buf dw 2233h,1122h,4455h ;假设的三个有符号数  
  39.   data ends
  40.   code segment   use16
  41.   assume cs:code,ds:data 
  42.   start: mov ax,data   
  43.   mov ds,ax     
  44.   mov si,offset   buf   
  45.   mov ax,[si]   
  46.   cmp ax,[si+2]        ;第一个数与第二个数比较  
  47.   jnc next1             ;若第一个数大于或等于第二个数,则转到next1比较第一和第三个数
  48.   xchg ax,[si+2]       ;若第一个数小于第二个数,则交换
  49.   mov [si],ax   
  50.   next1: mov ax,[si]   
  51.   cmp ax,[si+4]        ;第一个数与第三个数比较  
  52.   jnc next2             ;若第一个数大于或等于第三个数,则转到next2比较第二个和第三个数
  53.   xchg ax,[si+4]       ;若小于,则交换
  54.   mov [si],ax   
  55.   next2: mov ax,[si+2]   
  56.   cmp ax,[si+4]        ;第二个数与第三个数比较  
  57.   jnc next3   
  58.   xchg ax,[si+4]   
  59.   mov [si+2],ax   
  60.   next3: mov ah,4ch   
  61.   int 21h               ;返回DOS
  62.   code ends   
  63.   end start             ;汇编结束