下面的程序将data段中a处的8个数据相加,结果存储到b处的字中,实例程序.
补全的程序代码如下:
assume cs:code,es:data
data segment
a db 1,2,3,4,5,6,7,8
b dw 0
data ends
code segment
start:mov ax,data
mov es,ax
mov si,0
mov cx,8
s: mov al,a[si]
mov ah,0
add b,ax
inc si
loop s
mov ax,4c00h
int 21h
code en...


- [bqzjsblxp] 近日在重新学习本书,楼上说得很对,领教了。 10/25 10:26
- [游客] 回答正确。 05/08 16:56
- [游客] 没问题。 05/08 16:56
- [wsrf] 没有问题。 05/06 23:38
- [wsrf] 没有问题。 05/06 23:32
- [wsrf] 没有问题。 05/06 23:16
- [bslg123] 错了,一楼的老师说的正解。 楼主还是在把第十章好好的复习一下!! 04/09 09:24
- [bqzjsblxp] 在网上找的,感觉不错,所以贴在这里. 04/08 13:24
- [bqzjsblxp] 感谢楼上的朋友的指点,这段程序我是经过调试的,结果正确.在调用子程序时,当子程序循环执行是不会执行到 04/08 13:15
- [younggay] 回答OK。 04/08 10:45
[2009-05-08 11:26] 检测点16.2
阅读全文 |
评论次数(1) |
浏览次数(1467) |
所属类型(汇编作业)
[2009-05-08 11:20] 检测点16.1
下面的程序将code段中a处的8个数据相加,结果存储到b处的双字中,实例程序.
实例的程序代码如下:
assume cs:code
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start:mov si,0
mov cx,8
s: mov ax,a[si]
add word ptr b[0],ax
adc word ptr b[2],0
add si,2
loop s
mov ax,4c00h
int 21h
code ends
end start...
实例的程序代码如下:
assume cs:code
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start:mov si,0
mov cx,8
s: mov ax,a[si]
add word ptr b[0],ax
adc word ptr b[2],0
add si,2
loop s
mov ax,4c00h
int 21h
code ends
end start...
阅读全文 |
评论次数(1) |
浏览次数(1524) |
所属类型(汇编作业)
[2009-05-06 18:42] 检测点13.1
(1)在上面的程序中,我们用7CH中断例程实现LOOP的功能,则上面的中断例程所能进行的最大转移位移是多少?
答:最大转移位移应是64K.
(2)用7CH中断例程完成JMP PTR S指令的功能,用BX向中断例程传送转移位移.
中断例程编写和安装代码如下:
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset jps
mov ax,0
mov es,ax
mov di,200h
mov cx,offset jpsend-offset jps
cld
rep m...
答:最大转移位移应是64K.
(2)用7CH中断例程完成JMP PTR S指令的功能,用BX向中断例程传送转移位移.
中断例程编写和安装代码如下:
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset jps
mov ax,0
mov es,ax
mov di,200h
mov cx,offset jpsend-offset jps
cld
rep m...
阅读全文 |
评论次数(1) |
浏览次数(1376) |
所属类型(汇编作业)
[2009-04-08 09:17] 第十二章 检测点12.1
(1)用Debug查看内存,情况如下:
0000:0000 68 10 A7 00 8B 01 70 00-16 00 9D 03 8B 01 70 00
则3号中断源对应的中断处理程序的入口地址为:0007:018B
(2)存储N号中断源对应的中断处理程序入口的偏移地址的内在单元的地址为:N*4
存储N号中断源对应的中断处理程序入口的段地址的内存单元的地址为:N*4+2...
0000:0000 68 10 A7 00 8B 01 70 00-16 00 9D 03 8B 01 70 00
则3号中断源对应的中断处理程序的入口地址为:0007:018B
(2)存储N号中断源对应的中断处理程序入口的偏移地址的内在单元的地址为:N*4
存储N号中断源对应的中断处理程序入口的段地址的内存单元的地址为:N*4+2...
阅读全文 |
评论次数(1) |
浏览次数(1429) |
所属类型(汇编作业)
[2009-03-31 12:08] 第十一章 检测点11.1~2
写出下面每条指令执行后,ZF、PF、SF等标志位的值。
sub al,al zf=1 pf=1 sf=0
mov al,1 zf=1 pf=1 sf=0
push ax zf=1 pf=1 sf=0
pop bx zf=1 pf=1 sf=0
add al,bl zf=0 pf=0 sf=0
add al,10 zf=0 pf=1 sf=0
mul al zf=1 pf=1 sf=1
写出下面每条指令执行后,ZF、PF、SF、CF、OF等标志位的值。
cf of ...
sub al,al zf=1 pf=1 sf=0
mov al,1 zf=1 pf=1 sf=0
push ax zf=1 pf=1 sf=0
pop bx zf=1 pf=1 sf=0
add al,bl zf=0 pf=0 sf=0
add al,10 zf=0 pf=1 sf=0
mul al zf=1 pf=1 sf=1
写出下面每条指令执行后,ZF、PF、SF、CF、OF等标志位的值。
cf of ...
阅读全文 |
评论次数(3) |
浏览次数(716) |
所属类型(汇编作业)
[2009-03-27 08:03] 第十章 检测题10.5
(1) 下面的程序执行后,ax中的数值为多少?(注意:用call指令的原理来分析,不要在debug中单步跟踪来验证你的结论。对于此程序,在debug中单步跟踪的结果,不能代表cpu的实际执行结果。)
assume cs:code
stack segment
dw 8 dup (0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ds,ax
mov ax,0
call word ptr ds:[0EH]
inc...
assume cs:code
stack segment
dw 8 dup (0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ds,ax
mov ax,0
call word ptr ds:[0EH]
inc...
阅读全文 |
评论次数(1) |
浏览次数(480) |
所属类型(汇编作业)
[2009-03-25 08:03] 第十章 检测题10.1—10.4
第十章 检测题10.1
补全程序,实现从内存1000:0000处开始执行指令。
(补全的程序如下:)
assume cs:code
stack segment
db 16 dup (0)
ocde segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,1000h
push ax
mov ax,0
push ax
retf
code ends
end start
第十章 检测题10.2
下面的...
补全程序,实现从内存1000:0000处开始执行指令。
(补全的程序如下:)
assume cs:code
stack segment
db 16 dup (0)
ocde segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,1000h
push ax
mov ax,0
push ax
retf
code ends
end start
第十章 检测题10.2
下面的...
阅读全文 |
评论次数(1) |
浏览次数(424) |
所属类型(汇编作业)
[2009-03-24 07:43] 第九章 检测题9.2
实例编程,利用jcxz指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中
assume cs:code
code segment
start:mov ax,2000H
mov ds,ax
mov bx,0
s:mov ch,0
mov cl,[bx]
jcxz ok
inc bx
jmp short s
ok:mov dx,bx
mov ax,4c00h
int 21h
code ends
end start...
assume cs:code
code segment
start:mov ax,2000H
mov ds,ax
mov bx,0
s:mov ch,0
mov cl,[bx]
jcxz ok
inc bx
jmp short s
ok:mov dx,bx
mov ax,4c00h
int 21h
code ends
end start...
阅读全文 |
评论次数(1) |
浏览次数(396) |
所属类型(汇编作业)
[2009-03-24 07:42] 第九章 检测题9.1
(1) 程序如下:
assume cs:code
data segment
?
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
jmp word ptr[bx+1]
code ends
end start
若要使程序中的jmp指令执行后,cs:ip指向程序的第一样指令,在data段中应该定义哪些数据?
答:应定义如下数据:db 00,00,00
(2)程序如下:
assume cs:code
data segment
dd 12345678...
assume cs:code
data segment
?
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
jmp word ptr[bx+1]
code ends
end start
若要使程序中的jmp指令执行后,cs:ip指向程序的第一样指令,在data段中应该定义哪些数据?
答:应定义如下数据:db 00,00,00
(2)程序如下:
assume cs:code
data segment
dd 12345678...
阅读全文 |
评论次数(3) |
浏览次数(412) |
所属类型(汇编作业)
[2009-03-19 08:45] 第六章 检测点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 ...
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 ...
阅读全文 |
评论次数(1) |
浏览次数(390) |
所属类型(汇编作业)