把数字80H-8FH中的内容0-F改为ASC码,存放到90H-9FH的汇编语言及机器码 JUC-II微程序设计
时间: 2024-01-12 18:03:04 浏览: 92
汇编语言第二版-郑晓薇-习题答案
汇编语言代码如下:
```
MOV SI, 80H ; 将源地址存入 SI
MOV DI, 90H ; 将目的地址存入 DI
MOV CX, 10 ; 循环计数器初始化为 10
LOOP_START:
MOV AL, [SI] ; 从源地址处读取一个字节到 AL 寄存器中
ADD AL, 30H ; 将 AL 寄存器中的内容加上 30H,即将数字转换成对应的 ASCII 码
MOV [DI], AL ; 将 AL 寄存器中的内容存入目的地址处
INC SI ; 源地址指针加 1
INC DI ; 目的地址指针加 1
LOOP LOOP_START ; 循环
HLT ; 停机指令
```
机器码 JUC-II 微程序设计:
```
地址 微指令
00H 1110 0000 1000 0000 ; 将 80H 存入 MAR
02H 1100 0000 0000 0010 ; 将 MDR 的值存入 SI
04H 1110 0000 1001 0000 ; 将 90H 存入 MAR
06H 1100 0000 0000 0010 ; 将 MDR 的值存入 DI
08H 1111 1000 0000 1010 ; 将 10 存入计数器 CX
0AH 0001 1000 0000 0010 ; 从 SI 中读取一个字节到 AL
0CH 0000 0000 0011 0000 ; 将 30H 加到 AL 中
0EH 1101 0000 0000 0010 ; 将 AL 存入 MDR
10H 1110 0000 1001 0000 ; 将 90H 存入 MAR
12H 1101 0000 0000 0010 ; 将 MDR 的值存入 DI
14H 0000 1000 0000 0000 ; 源地址指针加 1
16H 0001 0000 0000 0010 ; 目的地址指针加 1
18H 0000 0100 0000 1000 ; 循环计数器减 1
1AH 0000 0000 0001 0000 ; 判断计数器是否为 0
1CH 1100 0000 0001 1010 ; 如果不为 0,跳转到 LOOP_START
1EH 0000 0000 0000 0001 ; 停机指令
```
阅读全文