编程,用加法和移位指令计算(ax)=(ax)*10
提示:(ax)*10=(ax)*2+(ax)*8
assume cs:code
code segment
start: mov bx,ax
shl ax,1 ;左移1位(ax)=(ax)*2
mov cl,3
shl bx,cl ;左移3位(bx)=(ax)*8
add ax,bx ;(ax)=(ax)*2+(ax)*8
mov ax,4c00h
int 21h
code ends
...


- [rexic] 第(5)小题可精简为: assume cs:code a segment db 1 11/14 21:38
- [rexic] 用本章的转移指令来完成 assume cs:code,ds:data data seg 10/12 11:10
- [rexic] 使用 'div 内存单元' 操作时, 一定要指定操作长度类型, 否则报错, 10/09 13:45
[2015-10-26 15:37] 检测点14.2
阅读全文 |
评论次数(0) |
浏览次数(642) |
所属类型(汇编作业)
[2015-10-26 15:30] 检测点14.1
(1)编程,读取CMOS RAM的2号单元内容。
assume cs:code
code segment
start: mov al,2 ;赋值al
out 70h,al ;将al送入端口70h
in al,71h ;从端口71h处读出单元内容
mov ax,4c00h
int 21h
code ends
end start
(2)编程,向CMOS RAM的2号单元写入0。
assume cs:code
code segment
start...
assume cs:code
code segment
start: mov al,2 ;赋值al
out 70h,al ;将al送入端口70h
in al,71h ;从端口71h处读出单元内容
mov ax,4c00h
int 21h
code ends
end start
(2)编程,向CMOS RAM的2号单元写入0。
assume cs:code
code segment
start...
阅读全文 |
评论次数(0) |
浏览次数(609) |
所属类型(汇编作业)
[2015-10-26 15:25] 检测点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。...
阅读全文 |
评论次数(0) |
浏览次数(674) |
所属类型(汇编作业)
[2015-10-26 15:21] 检测点13.1
(1)32768
注:mov bx,offset s - offset se
这里s<se,所以理论上bx取负,有符号数有一位用于符号位,数值范围是:-32768~-?(取决于s和se标号之间语句长度),则最大转移位移取绝对值32768(真实值要比32768还小因为s和se标号之间语句长度是大于0的,无论如何它要比65500这个数小近一半)。...
注:mov bx,offset s - offset se
这里s<se,所以理论上bx取负,有符号数有一位用于符号位,数值范围是:-32768~-?(取决于s和se标号之间语句长度),则最大转移位移取绝对值32768(真实值要比32768还小因为s和se标号之间语句长度是大于0的,无论如何它要比65500这个数小近一半)。...
阅读全文 |
评论次数(0) |
浏览次数(620) |
所属类型(汇编作业)
[2015-10-20 09:30] 检测点12.1
(1)用debug查看内存,情况如下:
0000:0000 68 10 A7 00 8B 01 70 00-16 00 9D 03 8B 01 70 00
则3号中断源对应的中断处理程序入口的偏移地址的内存单位的地址为: ___0070:018B___
检测点涉及相关内容:
一个表项存放一个中断向量,也就是一个中断处理程序的入口地址,这个入口地址包括段地址和偏移地址,一个表项占两个字,高地址存放段地址,低地址存放偏移地址
(2)存储N号中断源对应的中断处理程序入口的偏移地址的内存单元的地址为:__4N___
存储N号中断源对应的中断处理程序入口的段地址的内...
0000:0000 68 10 A7 00 8B 01 70 00-16 00 9D 03 8B 01 70 00
则3号中断源对应的中断处理程序入口的偏移地址的内存单位的地址为: ___0070:018B___
检测点涉及相关内容:
一个表项存放一个中断向量,也就是一个中断处理程序的入口地址,这个入口地址包括段地址和偏移地址,一个表项占两个字,高地址存放段地址,低地址存放偏移地址
(2)存储N号中断源对应的中断处理程序入口的偏移地址的内存单元的地址为:__4N___
存储N号中断源对应的中断处理程序入口的段地址的内...
阅读全文 |
评论次数(0) |
浏览次数(227) |
所属类型(汇编作业)
[2015-10-20 09:25] 检测点 11.4
下面指令执行后,(ax)= 45h
mov ax,0
push ax
popf
mov ax,0fff0h
add ax,0010h
pushf
pop ax
;0 0 0 0 of df if tf sf zf 0 af 0 pf 0 cf
;0 0 0 0 0 0 * * 0 1 0 * 0 1 0 1
;ax=flag=000000** 010*0101b
and al,11000101B ;al=01000101b=4...
mov ax,0
push ax
popf
mov ax,0fff0h
add ax,0010h
pushf
pop ax
;0 0 0 0 of df if tf sf zf 0 af 0 pf 0 cf
;0 0 0 0 0 0 * * 0 1 0 * 0 1 0 1
;ax=flag=000000** 010*0101b
and al,11000101B ;al=01000101b=4...
阅读全文 |
评论次数(0) |
浏览次数(275) |
所属类型(汇编作业)
[2015-10-20 09:18] 检测点 11.3
(1)补全下面的程序,统计F000:0处32个字节中,大小在[32,128]的数据个数。
mov ax,0f000h
mov ds,ax
mov bx,0 ;ds:bx指向第一个字节
mov dx,0 ;初始化累加器
mov cx,32
s: mov al,[bx]
cmp al,32 ;和32进行比较
__jb_s0______ ;如果低于al转到s0,继续循环
cmp al,128 ;和128进行比较
__ja_s0_____ ;如果高于...
mov ax,0f000h
mov ds,ax
mov bx,0 ;ds:bx指向第一个字节
mov dx,0 ;初始化累加器
mov cx,32
s: mov al,[bx]
cmp al,32 ;和32进行比较
__jb_s0______ ;如果低于al转到s0,继续循环
cmp al,128 ;和128进行比较
__ja_s0_____ ;如果高于...
阅读全文 |
评论次数(0) |
浏览次数(263) |
所属类型(汇编作业)
[2015-10-19 09:14] 检测点 11.2
各个标志位 al CF OF SF ZF PF
sub al,al 0h 0 0 0 1 1
mov al,10h 10h 0 0 0 1 1
add al,90h a0h 0 0 1 0 1
mov al,80h 80h 0 0 1 0 1
add al,80h 0h 1 1 0 1 1
mov al,0fch 0fch...
sub al,al 0h 0 0 0 1 1
mov al,10h 10h 0 0 0 1 1
add al,90h a0h 0 0 1 0 1
mov al,80h 80h 0 0 1 0 1
add al,80h 0h 1 1 0 1 1
mov al,0fch 0fch...
阅读全文 |
评论次数(0) |
浏览次数(273) |
所属类型(汇编作业)
[2015-10-18 12:13] 检测点 11.1
sub al,al al=0h ZF=1 PF=1 SF=0
mov al,1 al=1h ZF=1 PF=1 SF=0
push ax ax=1h ZF=1 PF=1 SF=0
pop bx bx=1h ZF=1 PF=1 SF=0
add al,bl al=2h ZF=0 PF=0 SF=0
add al,10 al=12h ZF=0 PF=1 SF=0
mul al ax=144h ZF=0 PF...
mov al,1 al=1h ZF=1 PF=1 SF=0
push ax ax=1h ZF=1 PF=1 SF=0
pop bx bx=1h ZF=1 PF=1 SF=0
add al,bl al=2h ZF=0 PF=0 SF=0
add al,10 al=12h ZF=0 PF=1 SF=0
mul al ax=144h ZF=0 PF...
阅读全文 |
评论次数(0) |
浏览次数(226) |
所属类型(汇编作业)
[2015-10-18 11:38] 检测点 10.5
(1)ax=3
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] ;push ip((ds:000e)=
;ip的值11h),jmp word ptr ds:[0eh]
inc ax ;跳到...
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] ;push ip((ds:000e)=
;ip的值11h),jmp word ptr ds:[0eh]
inc ax ;跳到...
阅读全文 |
评论次数(0) |
浏览次数(263) |
所属类型(汇编作业)