欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

汇编 crt 显示有关问题求教

更新时间: 2014-01-05 03:17:47 责任编辑: Author_N1

 

汇编 crt 显示问题求教
题目要求判断n的数的奇偶性,把奇数放在一个数组,偶数放在一个数组,分别求个数,并在crt上显示出来,但是我不懂子程序show为什么这么写。与mov dl,al  
                                  mov ah,2h  
                                  int 21h 有什么不同???
data segment
dat  dw  1,2,3,4,5,6,7,8
n    equ ($-dat)/2
p    dw  n dup(?)
m    dw  n dup(?)
pc   dw  ?
mc   dw  ?
data ends
code segment
  assume cs:code,ds:data
main proc far
     mov  ax,data
     mov  ds,ax
     call panduan
     mov  ax,pc
     call crt
     call clrf
     mov  ax,mc
     call crt
     mov  ah,4ch
     int  21h
main endp
panduan proc near
     mov  ax,0
     mov  bx,0
     mov  si,0
     mov  cx,n
lop: test dat[si],1b     ;最后一位是否是1
     jnz  fm
     mov  bx,dat[si]
     push si
     mov  si,pc
     inc  pc
     mov  p[si],bx

     pop  si
     jmp  f1
fm:  mov  bx,dat[si]
     push si
     mov  si,mc
     inc  mc
     mov  m[si],bx

     pop  si
f1:  add  si,2
     dec  cx
     cmp  cx,0
     jnz  lop
     ret
panduan endp
show proc near
     xor  bx,bx
     xor  cx,cx
     mov  bx,10
f2:  xor  dx,dx
     div  bx
     or   dx,0e30h
     inc  cx
     push dx
     cmp  ax,0
     jnz  f2
f3:  pop  ax
     int  10h
     loop f3
     ret
show endp
额。。。偶刚学汇编不久,好多不懂,嘿嘿大神们教教吧,呵呵
--参考方法--
你说的是 dos 的字符输出功能调用,这个代码里用的是 bios 的字符输出功能调用(AH=0eh)。一般是建议尽可能地使用 dos 的,因为其功能适应性上更好些,比如支持输出转向等。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:17:47
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20522/
本文WWW.DOC100.NET DOC100.NET版权所有。