下面的程序将code段中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
ad...


- [whcasillas] mov dx,0 add dl,es:[bx] add dl,[bx] 04/05 02:11
- [crarook] 谢谢博主的分析! 十分清楚! 03/29 20:52
- [tomato] 正确。 03/23 20:05
- [tomato] 正确。 03/23 20:03
- [tomato] 正确。 03/23 16:59
- [tomato] 正确。 03/23 16:36
- [tomato] 正确。 03/23 16:32
- [wsrf] 只要显示到09年就可以了,没有必要非得显示2009,如果书中刚给出了20的存储位置,显示的方法也是一 03/18 20:14
- [wsrf] 这里可没说ax就是1000,所以应该直接对ax进行操作,再试试。 03/18 19:47
- [wsrf] 没有问题。 03/18 13:28
[2009-03-19 08:01] 检测点16.2
阅读全文 |
评论次数(1) |
浏览次数(516) |
所属类型(汇编作业)
[2009-03-18 21:39] 检测点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
c...
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
c...
阅读全文 |
评论次数(1) |
浏览次数(499) |
所属类型(汇编作业)
[2009-03-18 15:47] 实验14 访问CMOS RAM
编程,以"年/月/日 时:分:秒"的格式,显示当前的日期、时间。
assume cs:code
code segment
start:
mov al,9
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov bx,0b800h
mov es,bx
...
assume cs:code
code segment
start:
mov al,9
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov bx,0b800h
mov es,bx
...
阅读全文 |
评论次数(1) |
浏览次数(598) |
所属类型(汇编作业)
[2009-03-18 14:40] 检测点14.2
编程,用加法和移位指令计算(ax)=(ax)*10
提示,(ax)*10=(ax)*2+(ax)*8
assume cs:code
code segment
start:mov ax,1000
shl ax,1
mov bx,ax
mov ax,1000
mov cl,3
shl ax,cl
add ax,bx
mov ax,4c00h
int 21h
code ends
end start
备注:shl ax,1就相当ax*2...
提示,(ax)*10=(ax)*2+(ax)*8
assume cs:code
code segment
start:mov ax,1000
shl ax,1
mov bx,ax
mov ax,1000
mov cl,3
shl ax,cl
add ax,bx
mov ax,4c00h
int 21h
code ends
end start
备注:shl ax,1就相当ax*2...
阅读全文 |
评论次数(1) |
浏览次数(506) |
所属类型(汇编作业)
[2009-03-18 10:05] 检测点14.1
(1)编程,读取CMOS RAM的2号单元的内容
mov al,2
out 70h,al
in al,71h
(2)编程,向COMS RAM的2号单元写入0.
mov al,2
out 70h,al
mov al,0
out 71h,al...
mov al,2
out 70h,al
in al,71h
(2)编程,向COMS RAM的2号单元写入0.
mov al,2
out 70h,al
mov al,0
out 71h,al...
阅读全文 |
评论次数(1) |
浏览次数(586) |
所属类型(汇编作业)
[2009-03-18 08:42] 实验13 编写、应用中断例程
(3)下面的程序,分别在屏幕的第2、4、6、8行显示4句英文诗,补全程序。
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 2,4,6,8
start:mov ax,cs
...
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 2,4,6,8
start:mov ax,cs
...
阅读全文 |
评论次数(1) |
浏览次数(516) |
所属类型(汇编作业)
[2009-03-17 14:51] 检测点13.1
(1)在上面的内容中,我们用7CH中断例程实现LOOP的功能,则上面的7CH中断例程所能进行的最大转移位移是多少?
按loop命令来说是在-128-127之间,但如第2小题所做是在-32768-32767(16位位移范围)
(2)用7CH中断例程完成jmp near prt s指令的功能,用bx向中断全程传送转移位移。
7ch中断例程如下:
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov si,offset capital
mov ax,0
...
按loop命令来说是在-128-127之间,但如第2小题所做是在-32768-32767(16位位移范围)
(2)用7CH中断例程完成jmp near prt s指令的功能,用bx向中断全程传送转移位移。
7ch中断例程如下:
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov si,offset capital
mov ax,0
...
阅读全文 |
评论次数(1) |
浏览次数(527) |
所属类型(汇编作业)
[2009-03-16 20:45] 检测点13.2
判断下面说法的正误:
(1) 我们可以编程改变FFFF:0处的指令,使得CPU不去执行BIOS中的硬件系统检测和初始化程序。
错,FFFF:0 处的指令都是固化在ROM中的
(2) int 19h 中断例程,可以由DOS提供。
不能,int 19h中断例程在DOS启动前就装入了内存。...
(1) 我们可以编程改变FFFF:0处的指令,使得CPU不去执行BIOS中的硬件系统检测和初始化程序。
错,FFFF:0 处的指令都是固化在ROM中的
(2) int 19h 中断例程,可以由DOS提供。
不能,int 19h中断例程在DOS启动前就装入了内存。...
阅读全文 |
评论次数(1) |
浏览次数(518) |
所属类型(汇编作业)
[2009-03-16 14:24] 实验12 编写0号中断的处理程序
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov si,offset do0 ;设置si指向源地址
mov ax,0
mov es,ax
mov di,200h ;设置di指向0:200内存地址
mov cx,offset do0end-do0 ;cx为程序长度
cld ;正向增加
rep movsb ;根据CX值正向串传送
mov ax,0...
code segment
start:mov ax,cs
mov ds,ax
mov si,offset do0 ;设置si指向源地址
mov ax,0
mov es,ax
mov di,200h ;设置di指向0:200内存地址
mov cx,offset do0end-do0 ;cx为程序长度
cld ;正向增加
rep movsb ;根据CX值正向串传送
mov ax,0...
阅读全文 |
评论次数(1) |
浏览次数(494) |
所属类型(汇编作业)
[2009-03-10 22:23] 检测点12.1
(1)3号中断源对应的中断处理程序的入口地址为:0070:018B(高地址存放段地址,低地址存放偏移地址)
(2)存储N号中断源对应的中断处理程序入口的偏移地址的内存单元的地址为:N*4
存储N号中断源对应的中断处理程序入口的段地址的内存单元的地址为:N*4+2...
(2)存储N号中断源对应的中断处理程序入口的偏移地址的内存单元的地址为:N*4
存储N号中断源对应的中断处理程序入口的段地址的内存单元的地址为:N*4+2...
阅读全文 |
评论次数(1) |
浏览次数(753) |
所属类型(汇编作业)
『 查看更多文章 』