-224- | PC机汇编语言实战精解 | ![]() |
|||||||||||||||||||
main outdec: exit: main code |
assume proc mov mov mov mov int jc mov mov mov mov mov int jc mov mov div xchg add mov dec mov xor cmp jnz mov mov int mov int endp ends end |
cs:code far ax,data ds,ax dx,offset fname ax,3d00h 21h exit bx,ax cx,0 dx,0 ah,42h al,02h 21h exit cx,10 si,offset tbuff+4 cx ax,dx al,30h byte ptr [si],al si ax,dx dx,dx ax,0 outdec ah,9 dx,offset msg 21h ah,4ch 21h main |
;初始化DS寄存器 ;按"读取"方式打开文件 ;若文件未能正确打开,转EXIT ;BX寄存器获得文件句柄 ;设置新的文件指针偏移量为0 ;选42H功能 ;从文件尾部计数偏移量 ;移动文件读写指针 ;若没有正确移动文件指针,转EXIT结束 ;准备输出DX:AX中的文件长度 ;CX寄存器送入10 ;SI寄存器指向数字的缓冲区尾部 ;DX:AX中的长度值除以10 ;将余数送入AX寄存器,商送入DX寄存器 ;将余数加上30H转换成数字的ASCII码 ;将个位数字送入缓冲区 ;SI寄存器指向十位数字的位置 ;将商转换成32位数并存入DX:AX ;商是0吗? ;若商不是0,则转OUTDEC继续计算数位 ;输出带有长度数的字符串MSG ;结束进程 |
||||||||||||||||||
Copyright © 2004-2015 Reanimator | www.cookmoon.org |