目录 上一页 下一页 附录A

第11章 更高级的技术 -323-



















hex2asc
code

push
and
xlat
mov
int
pop
pop
loop

mov
int
mov
int

pop
pop
pop
ret
endp
ends
end
ax
ax,000fh

ah,0eh
10h
ax
cx
loop1

ax,0e0dh
10h
al,0ah
10h

cx
bx
ax



hex2asc
;暂存移位后的结果
;保留AX寄存器低4位
;从ASCII码表中取得字符
;并调用10H中断的0EH功能输出

;从堆栈中取回移位后的结果
;和CX寄存器中的计数值
;继续处理下4位

;输出回车、换行符




;恢复寄存器


;返回主过程



  给出的两个源程序其实是一个程序的两个部分,这两个部分编译之后要连接到一起。具体方法很简单,首先将两个文件分别编译成两个OBJ目标文件,然后按下述方法应用LINK.EXE程序进行连接:
  连接程序LINK.EXE会把TEST1.OBJ和TEST2.OBJ组合在一起,生成的可执行文件默认的文件名是第一个OBJ文件的名字,本例是TEST1.EXE。其实这才是LINK程序真正的用途,以前使用LINK程序将单独一个OBJ文件转换为可执行文件只是走走形式而已。
  如果使用TLINK程序,则操作会更简单一些:
  C:\ASM\>tlink test1 test2[Enter]
  通过这个实例,我们可以看出构成程序的两个模块其实就是两个完整的程序,而实现模

Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 附录A