assume cs:code
code segment
start:mov cx,6
mov al,0
s: mov dx,cx
out 70h,al
mov bl,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl ;除以16得十位
and al,00001111b;去掉高4位得个位
add ah,30h
add al,30h
push ax
mov al,bl
mov cx,dx
sub cx,1
cmp cx,0
je _show
cmp cx,3
je _ad...
- [fpamc] 思路不错~充分利用了条件转移~ 05/31 10:37
- [fpamc] 检测点14.2有问题。 如果你将ax赋值,那么。只能进行10*10的运算。 这句话是多余的, 05/31 09:30
- [tomato] 完成地没问题。 05/25 17:06
- [tomato] 第一题回答的有问题。 05/23 22:38
- [tomato] 完成地没问题。 05/23 22:37
- [tomato] 正确,继续。 05/20 21:00
- [tomato] 正确,没问题。 05/20 20:58
- [tomato] 没问题。 05/19 23:09
- [tomato] 完成地没问题。 05/18 22:55
- [sbxinran] 原来是栈顶的原因 05/15 23:46
- [tomato] 收到你给我的留言了,支持你,加油! 04/12 17:48
[2012-05-30 18:53] 实验十四
阅读全文 |
评论次数(1) |
浏览次数(350) |
所属类型(汇编作业)
[2012-05-30 18:51] 检测点14
检测点14.1
(1)编程:读取CMOS RAM的2号单元的内容。
assume cs:code;读
code segment
start:mov ax,0
mov al,2
out 70h,al
in al,71h
mov ah,2
mov bx,0b800h
mov es,bx
mov es:[0],ax
mov ax,4c00h
int 21h
code ends
end start
(2)编程:向CMOS RAM的2号单元定稿0。
assume cs:code;д
code segment
start:mov a...
(1)编程:读取CMOS RAM的2号单元的内容。
assume cs:code;读
code segment
start:mov ax,0
mov al,2
out 70h,al
in al,71h
mov ah,2
mov bx,0b800h
mov es,bx
mov es:[0],ax
mov ax,4c00h
int 21h
code ends
end start
(2)编程:向CMOS RAM的2号单元定稿0。
assume cs:code;д
code segment
start:mov a...
阅读全文 |
评论次数(1) |
浏览次数(368) |
所属类型(汇编作业)
[2012-05-24 21:24] 实验十三
(1)编写并安装int 7ch中断例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处。
参数:(dh)=行号,(dl)=列号,(cl)=颜色,ds:si指向字符串首地址。
assume cs:code
data segment
db "welcome to masm!",0
data ends
code segment
start:
mov ax,cs ;安装中断例程
mov ds,ax
mov si,offset do7c
mov ax,0
mov es,ax
mov di,200H
mov cx,offset do7c...
参数:(dh)=行号,(dl)=列号,(cl)=颜色,ds:si指向字符串首地址。
assume cs:code
data segment
db "welcome to masm!",0
data ends
code segment
start:
mov ax,cs ;安装中断例程
mov ds,ax
mov si,offset do7c
mov ax,0
mov es,ax
mov di,200H
mov cx,offset do7c...
阅读全文 |
评论次数(1) |
浏览次数(377) |
所属类型(汇编作业)
[2012-05-23 21:45] 检测点13.2 检测点13.2 检测点13.2
判断下面说法的正误:
(1)我们可以编程改变FFFF:0处的指令,使得CPU不去执行BIOS中的硬件系统检测
和初始化程序。
答:错误,ROM具有只读属性,不可更改这段内存中的数据。
(2)int 19h中断例程,可以同DOS提供。
答:错误,int 19h中断例程的作用是完成操作系统中引导,若用DOS提供的话则
操系统将不能被正确引导。...
(1)我们可以编程改变FFFF:0处的指令,使得CPU不去执行BIOS中的硬件系统检测
和初始化程序。
答:错误,ROM具有只读属性,不可更改这段内存中的数据。
(2)int 19h中断例程,可以同DOS提供。
答:错误,int 19h中断例程的作用是完成操作系统中引导,若用DOS提供的话则
操系统将不能被正确引导。...
阅读全文 |
评论次数(1) |
浏览次数(362) |
所属类型(汇编作业)
[2012-05-23 20:24] 检测点13.1
(1)在上面的内容中,我们用7ch中断例程实现loop的功能,则上面的7ch中断例
程所能进行的最大转移位移是多少?
条件转移的都是段内短转移,位移范围为一个字节,由于最高位为符号位,
所以最大转移为2^7即128
(2)用7ch中断例程完成jmp near ptrs指令的功能,用bx向中断例程传送转移位
移。应用举例:在屏幕的第12行显示data段中,以0结尾的字符串。
assume cs:code
data segment
db 'conversation',0
data ends
code segment
start:
mov...
程所能进行的最大转移位移是多少?
条件转移的都是段内短转移,位移范围为一个字节,由于最高位为符号位,
所以最大转移为2^7即128
(2)用7ch中断例程完成jmp near ptrs指令的功能,用bx向中断例程传送转移位
移。应用举例:在屏幕的第12行显示data段中,以0结尾的字符串。
assume cs:code
data segment
db 'conversation',0
data ends
code segment
start:
mov...
阅读全文 |
评论次数(1) |
浏览次数(366) |
所属类型(汇编作业)
[2012-05-20 12:24] 实验十二
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset do0;设置源地址
mov ax,0
mov es,ax
mov di,200H ;设置目的地址
mov cx,offset do0end - offset do0
cld
rep movsb
;设置中断向量表
mov ax,0
mov es,ax
mov word ptr es:[0*4],200H
mov word ptr es:[0*4+2],0
mov ax...
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset do0;设置源地址
mov ax,0
mov es,ax
mov di,200H ;设置目的地址
mov cx,offset do0end - offset do0
cld
rep movsb
;设置中断向量表
mov ax,0
mov es,ax
mov word ptr es:[0*4],200H
mov word ptr es:[0*4+2],0
mov ax...
阅读全文 |
评论次数(1) |
浏览次数(345) |
所属类型(汇编作业)
[2012-05-20 12:23] 检测点12.1
(1)用debug查看内存,情况如下:
0000:0000 68 10 A7 00 8B 01 70 00-16 00 9D 03 8B 01 70 00
则,4号中断源对应的中断处理程序的入口地址为:0070: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
则,4号中断源对应的中断处理程序的入口地址为:0070:018B
(2)读N号中断对应的中断处理程序的偏移地址的内存单元的地址为:N*4
读N号中断对应的中断处理程序的段地址的内存单元的地址为:N*4+2...
阅读全文 |
评论次数(1) |
浏览次数(334) |
所属类型(汇编作业)
[2012-05-19 10:24] 实验十一
assume cs:code
data segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends
code segment
begin:mov ax,data
mov ds,ax
mov si,0
call letterc
mov ax,4c00H
int 21H
letterc:
mov ax,0
mov al,[si]
cmp al,0
je back ;等于0就跳转
cmp al,97
jb s ;小于9...
data segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends
code segment
begin:mov ax,data
mov ds,ax
mov si,0
call letterc
mov ax,4c00H
int 21H
letterc:
mov ax,0
mov al,[si]
cmp al,0
je back ;等于0就跳转
cmp al,97
jb s ;小于9...
阅读全文 |
评论次数(1) |
浏览次数(335) |
所属类型(汇编作业)
[2012-05-18 10:44] 第十一章作业
检测点11.1
写出下面每条指令执行后,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=0 PF=1 SF=0
检测点11.2
写出下面每条指令执行后,ZF、PF、SF、CF、OF等标志位的值。
CF OF SF ZF PF
sub al,al 0 0 ...
写出下面每条指令执行后,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=0 PF=1 SF=0
检测点11.2
写出下面每条指令执行后,ZF、PF、SF、CF、OF等标志位的值。
CF OF SF ZF PF
sub al,al 0 0 ...
阅读全文 |
评论次数(1) |
浏览次数(347) |
所属类型(汇编作业)
[2012-05-15 22:00] 课程设计一
assume cs:codesg,ds:data
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
db '1993','1994','1995'
;定义21个年份字符串
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
dd 345980,590827,80...
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
db '1993','1994','1995'
;定义21个年份字符串
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
dd 345980,590827,80...
阅读全文 |
评论次数(4) |
浏览次数(321) |
所属类型(汇编作业)
『 查看更多文章 』