(1)将下面的程序编译连接,用debug加载、跟踪,然后回答问题。
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
...
[2017-05-21 14:20] 实验5
阅读全文 |
评论次数(0) |
浏览次数(568) |
所属类型(汇编作业)
[2017-05-19 17:16] 监测点6.1
(1)下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序:
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
start: mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s: mov ax,[bx]
___________ mov cs:[bx],ax
add bx,2
loop s
mov ax,4c00h
int 21h
codesg ends
end st...
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
start: mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s: mov ax,[bx]
___________ mov cs:[bx],ax
add bx,2
loop s
mov ax,4c00h
int 21h
codesg ends
end st...
阅读全文 |
评论次数(0) |
浏览次数(714) |
所属类型(汇编作业)
[2017-05-14 18:01] 实验4
(1)编程,向内存0:200~0:23F依次传送数据0~63(3FH)
assume cs:code
code segment
mov ax,20H
mov es,ax
mov bx,0H
mov cx,64H
s: mov es:[bx],bl //这里注意数据的长度
inc bx
loop s
mov ax,4c00H
int 20H
code ends
end
(2)编程,向内存0:200~0:23F一次传送数据0~63(3FH),程序中只能使用9条指令,
9条指令中包括“mov ax,4C00H”和“int 20h”.
看第一题...
assume cs:code
code segment
mov ax,20H
mov es,ax
mov bx,0H
mov cx,64H
s: mov es:[bx],bl //这里注意数据的长度
inc bx
loop s
mov ax,4c00H
int 20H
code ends
end
(2)编程,向内存0:200~0:23F一次传送数据0~63(3FH),程序中只能使用9条指令,
9条指令中包括“mov ax,4C00H”和“int 20h”.
看第一题...
阅读全文 |
评论次数(0) |
浏览次数(555) |
所属类型(汇编作业)
[2017-05-08 16:51] 监测点3.2
(1)补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序复制
到20000H~2000FH中。逆序复制的含义如图3.17所示(图中内存里的数据均为假设)。
10000H【23】 20000H【33】
10001H【01】 20001H【11】
10002H【66】 20002H【 】
10003H【22】 20003H【 】
. .
. .
1000CH【 】 2000CH【66】
1000DH【 】 2000DH【22】
1000EH【33】 2000EH【23】
1000...
到20000H~2000FH中。逆序复制的含义如图3.17所示(图中内存里的数据均为假设)。
10000H【23】 20000H【33】
10001H【01】 20001H【11】
10002H【66】 20002H【 】
10003H【22】 20003H【 】
. .
. .
1000CH【 】 2000CH【66】
1000DH【 】 2000DH【22】
1000EH【33】 2000EH【23】
1000...
阅读全文 |
评论次数(0) |
浏览次数(628) |
所属类型(汇编作业)
[2017-05-07 14:50] 检测题3.1
(1)在Debug中,用“D 0:0 1f”查看内存,结果如下。
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值。
mov ax,1 ;ax = 0001H
mov ds,ax ;ds = 0001H
mov ax,[0000] ;将0001H:0000H单元中的数值存放到AX中,AX = 2662...
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值。
mov ax,1 ;ax = 0001H
mov ds,ax ;ds = 0001H
mov ax,[0000] ;将0001H:0000H单元中的数值存放到AX中,AX = 2662...
阅读全文 |
评论次数(0) |
浏览次数(650) |
所属类型(汇编作业)
[2017-05-06 17:55] 监测点2.3
下面的3条指令执行后,CPU几次修改IP?,都是在什么时候?最后IP中的值是多少?
/////mov ax,bx
sub ax,bx
jmp ax
他们对应的机器指令是 mov ax,bx 89D8 sub ax,bx 29D8 JMP AX FFE0
CPU 修改了3次IP地址,,
第一次的时候是当mov ax,bx指令被读取到指令缓存器中的时候IP加上指令
长度2字节,
第二次的时候是当sub ax,bx指令被读到指令缓存器中的时候IP加上指令长度2字节
第三次的时候当JMP AX指令,直接修改了IP中的值。
mo...
/////mov ax,bx
sub ax,bx
jmp ax
他们对应的机器指令是 mov ax,bx 89D8 sub ax,bx 29D8 JMP AX FFE0
CPU 修改了3次IP地址,,
第一次的时候是当mov ax,bx指令被读取到指令缓存器中的时候IP加上指令
长度2字节,
第二次的时候是当sub ax,bx指令被读到指令缓存器中的时候IP加上指令长度2字节
第三次的时候当JMP AX指令,直接修改了IP中的值。
mo...
阅读全文 |
评论次数(0) |
浏览次数(633) |
所属类型(汇编作业)
[2017-05-05 17:46] 监测点2.2
(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为__到__。
//// 偏移地址的偏移值的范围为0000H到FFFFH,所以,给定段地址0001H,CPU的寻址
范围为0001H:0000H 到 0001H:FFFFH,也就是物理地址10H~1000FH
···································
···································
(2)有一个数据存在在内存20000H单元中,现给定段地址为SA,若想用偏移地址
寻到此单元。则SA应满足的条件是:最小为__最大为__。 ...
//// 偏移地址的偏移值的范围为0000H到FFFFH,所以,给定段地址0001H,CPU的寻址
范围为0001H:0000H 到 0001H:FFFFH,也就是物理地址10H~1000FH
···································
···································
(2)有一个数据存在在内存20000H单元中,现给定段地址为SA,若想用偏移地址
寻到此单元。则SA应满足的条件是:最小为__最大为__。 ...
阅读全文 |
评论次数(0) |
浏览次数(619) |
所属类型(汇编作业)
[2017-04-27 16:50] 监测点2.1
(1)写出每条汇编指令执行后的相关寄存器中的值。
mov ax,62627 AX=____ 将62427移动到AX中,因为62627是
十进制的,存到寄存器中会转换成16进制 因此AX中的值是F4A3H
mov ah,31H AX=____ 这条指令是将31H移动到AH中,AL中的值不变,因此AX中的值是31A3H
mov al,23H AX=____ 这条指令是将23H移动到AL中,AH中的值不变,因此AX中的值是3123H
add ax,ax AX=____ 将AX中的值3123H相加,结果保存在AX中,AX的值等于6246H
mov bx,...
mov ax,62627 AX=____ 将62427移动到AX中,因为62627是
十进制的,存到寄存器中会转换成16进制 因此AX中的值是F4A3H
mov ah,31H AX=____ 这条指令是将31H移动到AH中,AL中的值不变,因此AX中的值是31A3H
mov al,23H AX=____ 这条指令是将23H移动到AL中,AH中的值不变,因此AX中的值是3123H
add ax,ax AX=____ 将AX中的值3123H相加,结果保存在AX中,AX的值等于6246H
mov bx,...
阅读全文 |
评论次数(0) |
浏览次数(639) |
所属类型(汇编作业)
[2017-04-26 20:14] 第一章,监测点1.1
(1)1个CPU的寻址能力为8KB,那么它的地址总线宽度为__。
///// 8KB等于8192Byte,说明这个CPU能找到8192个内存单
元,而CPU的地址总线决定了它能找到多少个内存单元,8192
是2的13次方,所以这个CPU的地址总线宽度为13。
(2)1KB的存储器有__个存储单元,存储单元的编号从__到__。
///// 存储单元的单位是Byte,1KB等于1024Byte,所以1KB的
存储器有1024个存储单元
存储单元的编号是从0开始的,所以1KB的存储器,存储
单元的编号是0到1023。
(3)1KB的存储器可以存储_...
///// 8KB等于8192Byte,说明这个CPU能找到8192个内存单
元,而CPU的地址总线决定了它能找到多少个内存单元,8192
是2的13次方,所以这个CPU的地址总线宽度为13。
(2)1KB的存储器有__个存储单元,存储单元的编号从__到__。
///// 存储单元的单位是Byte,1KB等于1024Byte,所以1KB的
存储器有1024个存储单元
存储单元的编号是从0开始的,所以1KB的存储器,存储
单元的编号是0到1023。
(3)1KB的存储器可以存储_...
阅读全文 |
评论次数(0) |
浏览次数(684) |
所属类型(汇编作业)