-52- | PC机汇编语言实战精解 | ![]() |
|||||||||||||||||||
-U[Enter] 0A3E:0100 0A3E:0102 0A3E:0104 0A3E:0107 0A3E:0109 0A3E:010B 0A3E:010D |
B0B6 E643 B8A904 E642 8AC4 E642 E461 |
MOV OUT MOV OUT MOV OUT IN |
AL,B6 43,AL AX,04A9 42,AL AL,AH 42,AL AL,61 |
| | | | | | | | |
0A3E:010F 0A3E:0110 0A3E:0112 0A3E:0114 0A3E:0116 0A3E:0118 0A3E:0119 0A3E:011B |
50 0C03 E661 B401 CD21 58 E661 C3 |
PUSH OR OUT MOV INT POP OUT RET |
AX AL,03 61,AL AH,01 21 AX 61,AL |
|||||||||||||
PROG7的结构过于简单了,还没有涉及有关分段的更多概念,下面给出的这个例子更复杂一些,这个例程中具有"数据"和"代码"两个段,而且有两个"过程"。程序中新出现了一个陌生的指令:──SUB | |||||||||||||||||||||
![]() |
助记符:SUB(subtract) 用 途:将两个数据作减法 格 式:SUB 寄存器,立即数 SUB 寄存器,寄存器 SUB 寄存器,存储单元 SUB 存储单元,寄存器 SUB 存储单元,立即数 执 行:两个数据相减,结果保存在左边的寄存器或存储器中,标志寄存器中相关位被设置 |
||||||||||||||||||||
PROG7-A PORT_B data |
equ segment assume |
61H ds:data |
;#1--常量定义 ;#2--数据段定义 ;通知编译程序默认DS寄存器指向数据段 |
||||||||||||||||||
mess |
db 'Press any key to stop!!!',24h | ;定义一个字符串 | |||||||||||||||||||
data code sound |
ends segment assume proc mov out mov out mov out in |
cs:code near al,10110110b 43h,al ax,4a9h 42h,al al,ah 42h,al al,PORT_B |
;数据段结束 ;#3--代码段开始 ;通知编译程序默认CS寄存器指向代码段 ;#4--SOUND子过程开始 ;初始化定时器 ;设定频率 ;打开定时器和与门 |
||||||||||||||||||
Copyright © 2004-2015 Reanimator | www.cookmoon.org |