检测点16.1
下面的程序将code段中a处的8个数据累加,结果存储到b处的dword中,补全程序.
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 ---,ax ;b[0]--更改为;word ptr b[0] 原来我以为ax就能告诉cpu读取的是字了,但是b[..]也能告诉c...
- [ltp1234] push cx add si,1 ;结果的数字个数 04/09 01:58
- [ltp1234] 写的很好!! 04/08 23:48
- [游客] 我也不知道说些什么 挺一下好啦 04/03 20:50
- [e56004474] 没事的话,别坐电车。 据说。。。 03/17 18:52
- [waasmedu] 拜读!受教!! 12/21 11:18
- [chinatree] 不错,顶。 12/05 03:32
- [ljl] 晕,最后一题也没有想到。。。 12/04 14:56
- [mouse] 楼上的看错了,填空位置填inc cx,就是为了找到第一个值为0的byte 07/29 15:37
- [wbkyh] 检测点9.2中,loop s指令有问题,该指令执行后,cx=cx-1,如果cx=0,则循环结束,也就 06/28 09:32
- [游客] 结果是1,*p取得的是a的地址中的内容,也就是a的值 06/08 00:22
- [lp1989] 请教一道题: 在数据段BUF下开始已定义了信息“I LIKE IBM-PC”, 编写在屏 幕上显 12/29 13:32
- [fangaiyisheng] 飘过,很好 ,很强大! 06/18 06:05
- [游客] [ lyh1984 发表于 2009-06-26 10:39 ] 请问一下,我用DEB 07/15 10:59
- [lyh1984] 请问一下,我用DEBUG为什么调不出字符串呢?我想知道你们是怎么调的,是用CMD DEBUG吗? 06/26 10:39
- [q470393267] 我看你头像半天了,那猫和老鼠能抗啊都没有死~ 05/05 21:31
- [fangyugirl] 经过上机DEBUG,我已经知道问题在哪里了,谢谢你呀。 04/09 10:31
- [fangyugirl] 我是想问你第10章的第三个子程序,这个子程序我现在主要的问题是12666/10会产生溢出,所以我调用 04/09 09:57
- [mouse] [ wangping198611 发表于 2009-03-23 11:43 ] 03/31 10:28
- [mouse] miaozaoyang 发表于 2009-03-29 22:31 ] [ 删除留 03/31 10:23
- [miaozaoyang] 又得问你个问题了,不知道为什么,实验15 不能够正常进行,程序应该是没有任何问题的,还是操作系统的问 03/29 22:31
[2008-03-06 17:07] 检测点16.1/2
阅读全文 |
评论次数(2) |
浏览次数(551) |
所属类型(汇编作业)
[2008-01-28 11:38] 检测点15.1
(1)精简为:
pushf
call dword ptr ds:[0]
(2)
分别加上cli和sti就可以了。
cli,用于设置IF=0;
sti,用于设置IF=1;
IF=0的时候,禁止其他的可屏蔽中断。...
pushf
call dword ptr ds:[0]
(2)
分别加上cli和sti就可以了。
cli,用于设置IF=0;
sti,用于设置IF=1;
IF=0的时候,禁止其他的可屏蔽中断。...
阅读全文 |
评论次数(1) |
浏览次数(464) |
所属类型(汇编作业)
[2008-01-18 11:21] 实验14 实现了动态显示时间的功能,按 'q' 键退出
;该程序 实现了动态显示时间的功能,按 'q' 键退出。
assume cs:code
code segment
s1: db 9,8,7,4,2,0
s2: dw 0,0,0,0,0,0
s3: db '/','/',' ',':',':',' '
start:
mov ax,cs
mov ds,ax
mov bx,offset s1
mov si,offset s2
mov cx,6
reads: push cx
...
assume cs:code
code segment
s1: db 9,8,7,4,2,0
s2: dw 0,0,0,0,0,0
s3: db '/','/',' ',':',':',' '
start:
mov ax,cs
mov ds,ax
mov bx,offset s1
mov si,offset s2
mov cx,6
reads: push cx
...
阅读全文 |
评论次数(1) |
浏览次数(1078) |
所属类型(汇编作业)
[2008-01-12 08:48] 检测点14.2
用加法和移位计算(ax)=(ax)*10
4*10=40D=28H(见结果图)
程序如下:
assume cs:code
code segment
start:
mov ax,4
mov bx,ax
shl bx,1 ;ax*2
mov cl,3
shl ax,cl ;ax*8
add ax,bx ;ax*2+ax*8
mov ax,4c00h
int 21h
code ends
end start...
4*10=40D=28H(见结果图)
程序如下:
assume cs:code
code segment
start:
mov ax,4
mov bx,ax
shl bx,1 ;ax*2
mov cl,3
shl ax,cl ;ax*8
add ax,bx ;ax*2+ax*8
mov ax,4c00h
int 21h
code ends
end start...
阅读全文 |
评论次数(2) |
浏览次数(501) |
所属类型(汇编作业)
[2008-01-12 08:39] 检测点14.1
(1)读取CMOS RAM 的2号单元内容 :
mov al,2 ;先将2号传给al
out 70h,al ;把2号单元地址“2”送道70h端口
in al,71h ;从71h中读取数据,即2号单元得数据
(2)向CMOS RAM 的2号单元写入0:
mov al,2
out 70h,al ;把2号单元地址“2”送道70h端口
mov al,0
out 71h,al ;向CMOS RAM 的2号单元写入0...
mov al,2 ;先将2号传给al
out 70h,al ;把2号单元地址“2”送道70h端口
in al,71h ;从71h中读取数据,即2号单元得数据
(2)向CMOS RAM 的2号单元写入0:
mov al,2
out 70h,al ;把2号单元地址“2”送道70h端口
mov al,0
out 71h,al ;向CMOS RAM 的2号单元写入0...
阅读全文 |
评论次数(2) |
浏览次数(476) |
所属类型(汇编作业)
[2008-01-11 16:33] 实验13/1 中断实现显示字符串
-------------------------------
测试:0.asm
assume cs:code
data segment
db 'Welcome to masm!',0
data ends
code segment
start:
mov dh,10
mov dl,10
mov cl,2
mov ax,data
mov ds,ax
mov si,0
int 7ch
mov ax,4c00h
int 21h
code ends...
测试:0.asm
assume cs:code
data segment
db 'Welcome to masm!',0
data ends
code segment
start:
mov dh,10
mov dl,10
mov cl,2
mov ax,data
mov ds,ax
mov si,0
int 7ch
mov ax,4c00h
int 21h
code ends...
阅读全文 |
评论次数(1) |
浏览次数(428) |
所属类型(汇编作业)
[2008-01-11 16:26] 实验13/3 使用中断显示四句诗
assume cs:code
code segment
s1: db 'Good,better,best,','$'
s2: db 'Never let it rest,','$'
s3: db 'Till good is better,','$'
s4: db 'And better,best.','$'
s: dw offset s1,offset s2,offset s3,offset s4
row:db 4,6,8,10
start: mov ax,cs
mov ds,ax
mov bx,offset s
m...
code segment
s1: db 'Good,better,best,','$'
s2: db 'Never let it rest,','$'
s3: db 'Till good is better,','$'
s4: db 'And better,best.','$'
s: dw offset s1,offset s2,offset s3,offset s4
row:db 4,6,8,10
start: mov ax,cs
mov ds,ax
mov bx,offset s
m...
阅读全文 |
评论次数(1) |
浏览次数(412) |
所属类型(汇编作业)
[2008-01-11 09:51] 检测点13.2
判断下面说法的正误:
(1) 我们可以编程改变FFFF:0处的指令,使得CPU不去执行BIOS中的硬件系统检测和初始化程序。
答:不正确。
因为bios是只读的,不能更改。
(2) int 19h中断例程,可以由DOS提供。
答:不正确。
因为13.5第三条说:“调用int 19h进行操作系统的引导”,dos是一个操作系统,需要被int 19h引导才能运行,所以此题是错的。...
(1) 我们可以编程改变FFFF:0处的指令,使得CPU不去执行BIOS中的硬件系统检测和初始化程序。
答:不正确。
因为bios是只读的,不能更改。
(2) int 19h中断例程,可以由DOS提供。
答:不正确。
因为13.5第三条说:“调用int 19h进行操作系统的引导”,dos是一个操作系统,需要被int 19h引导才能运行,所以此题是错的。...
阅读全文 |
评论次数(1) |
浏览次数(431) |
所属类型(汇编作业)
[2008-01-10 13:02] 检测点13.1(2)中断实现jmp near ptr s 指令功能
7ch的应用举例:
---------------------------------
p247_1.asm
assume cs:code
data segment
db 'conversation',0
data ends
code segment
start: mov ax,data
mov ds,ax
mov si,0
mov ax,0b800h
mov es,ax
mov di,160*12
s: cmp byte ptr [si],0
je ok
mov al,[si]
mov es:[di],al
inc si
a...
---------------------------------
p247_1.asm
assume cs:code
data segment
db 'conversation',0
data ends
code segment
start: mov ax,data
mov ds,ax
mov si,0
mov ax,0b800h
mov es,ax
mov di,160*12
s: cmp byte ptr [si],0
je ok
mov al,[si]
mov es:[di],al
inc si
a...
阅读全文 |
评论次数(1) |
浏览次数(433) |
所属类型(汇编作业)
[2008-01-10 13:01] 检测点13.1(1)中断实现loop功能
-----------------------------------------------------
;程序功能:在屏幕中间显示 80 个 '!'。--测试中断7ch
assume cs:code
code segment
start: mov ax,0b800h
mov es,ax
mov di,160*12
mov bx,offset s - offset se;设置从标号se到标号s的转移位移
mov cx,80
s: mov byte ptr es:[di],'!'
add di,2
int 7ch;如果(cx) != 0,转移到标号 s...
;程序功能:在屏幕中间显示 80 个 '!'。--测试中断7ch
assume cs:code
code segment
start: mov ax,0b800h
mov es,ax
mov di,160*12
mov bx,offset s - offset se;设置从标号se到标号s的转移位移
mov cx,80
s: mov byte ptr es:[di],'!'
add di,2
int 7ch;如果(cx) != 0,转移到标号 s...
阅读全文 |
评论次数(3) |
浏览次数(528) |
所属类型(汇编作业)