



- [efan] 你说的没错,是我搞错了。谢谢! 05/17 13:32
- [guiji4372] 第二空应该是18H吧,lz没有跟踪运行结果吧,而且对CX控制loop循环时的设置理解有误。(我也是菜 05/16 22:49
- [efan] 就是汇编语言啊 05/12 08:50
- [qq260893875] 请问汇编用什么语言写的? 05/11 22:23
[2011-05-20 11:58] 实验16
此程序为动态演示,截图就将就着看吧
动态说明:
1全屏'A'
2清屏
3全屏'A'
4更改前景色
5更改背景色
6向上滚动
7重复4~6步,8次
程序如下:
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset setscr
mov ax,0
mov es,ax
mov di,200h
mov cx,offset setscrend-offset setscr
cld
rep movsb ;安装中断例程
mov ax,0
mov ...
动态说明:
1全屏'A'
2清屏
3全屏'A'
4更改前景色
5更改背景色
6向上滚动
7重复4~6步,8次
程序如下:
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset setscr
mov ax,0
mov es,ax
mov di,200h
mov cx,offset setscrend-offset setscr
cld
rep movsb ;安装中断例程
mov ax,0
mov ...
阅读全文 |
评论次数(0) |
浏览次数(717) |
所属类型(汇编作业)
[2011-05-20 11:38] 检测点16.1、16.2
检测点16.1
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] ;a处得数据存到ax
add word ptr b,ax ;ax存到b处第一字
adc word ptr b[2],0 ;进位信息存到b处第二字
add si,2 ;a处后移一个字
loop s
检测点16.2
assume cs:code,es:data
…
…
…
…
…
mov ax,data
mov ...
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] ;a处得数据存到ax
add word ptr b,ax ;ax存到b处第一字
adc word ptr b[2],0 ;进位信息存到b处第二字
add si,2 ;a处后移一个字
loop s
检测点16.2
assume cs:code,es:data
…
…
…
…
…
mov ax,data
mov ...
阅读全文 |
评论次数(0) |
浏览次数(561) |
所属类型(汇编作业)
[2011-05-19 13:58] 实验15
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,128
push cs
pop ds
mov ax,0
mov es,ax
mov si,offset int9 ;设置ds:si指向源地址
mov di,204h ;设置es:di指向目的地址
mov cx,off...
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,128
push cs
pop ds
mov ax,0
mov es,ax
mov si,offset int9 ;设置ds:si指向源地址
mov di,204h ;设置es:di指向目的地址
mov cx,off...
阅读全文 |
评论次数(0) |
浏览次数(599) |
所属类型(汇编作业)
[2011-05-19 13:54] 检测点15.1
(1)
pushf
call dword ptr ds:[0]
(2)
更改办法:
pop ds:[2]之后的两行程序改为以下4行
cli ;IF置为0,屏蔽程序运行至此时的中断
mov word ptr es:[9*4],204h
mov word ptr es:[9*4+2],0 ;在中断向量表中设置新的int 9中断例程的入口地址
sti ;IF恢复为1...
pushf
call dword ptr ds:[0]
(2)
更改办法:
pop ds:[2]之后的两行程序改为以下4行
cli ;IF置为0,屏蔽程序运行至此时的中断
mov word ptr es:[9*4],204h
mov word ptr es:[9*4+2],0 ;在中断向量表中设置新的int 9中断例程的入口地址
sti ;IF恢复为1...
阅读全文 |
评论次数(0) |
浏览次数(576) |
所属类型(汇编作业)
[2011-05-19 13:51] 实验14
如图所示显示当时时间
assume cs:code
data segment
db 9,8,7,4,2,0 ;存放单元号
db '// :: ' ;存放分隔符
data ends
code segment
start: mov ax,0b800h
mov es,ax
mov di,160*12
mov ax,data
mov ds,ax
mov si,0
mov cx,6
s: mov al,[si] ;取时间信息
call get_t
call show ;向屏幕输出十位
mov ah,al
call sho...
assume cs:code
data segment
db 9,8,7,4,2,0 ;存放单元号
db '// :: ' ;存放分隔符
data ends
code segment
start: mov ax,0b800h
mov es,ax
mov di,160*12
mov ax,data
mov ds,ax
mov si,0
mov cx,6
s: mov al,[si] ;取时间信息
call get_t
call show ;向屏幕输出十位
mov ah,al
call sho...
阅读全文 |
评论次数(0) |
浏览次数(627) |
所属类型(汇编作业)
[2011-05-19 13:50] 检测点14.1、14.2
检测点14.1
(1)
mov al,2
out 70h,al
in al,71h
(2)
mov al,2
out 70h,al
mov al,0
out 71h,al
in al,71h
检测点14.2
shl ax,1
mov bx,ax ;bx=ax^2
shl ax,1
shl ax,1
add ax,bx ;ax=ax^8+ax^2...
(1)
mov al,2
out 70h,al
in al,71h
(2)
mov al,2
out 70h,al
mov al,0
out 71h,al
in al,71h
检测点14.2
shl ax,1
mov bx,ax ;bx=ax^2
shl ax,1
shl ax,1
add ax,bx ;ax=ax^8+ax^2...
阅读全文 |
评论次数(0) |
浏览次数(614) |
所属类型(汇编作业)
[2011-05-19 13:46] 实验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,','$' ;存放4句诗
s: dw offset s1,offset s2,offset s3,offset s4 ;分别存放4句诗的首地址
row db 12,14,16,18 ;分别存放4句诗的显示行号
start: mov ax,c...
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,','$' ;存放4句诗
s: dw offset s1,offset s2,offset s3,offset s4 ;分别存放4句诗的首地址
row db 12,14,16,18 ;分别存放4句诗的显示行号
start: mov ax,c...
阅读全文 |
评论次数(0) |
浏览次数(589) |
所属类型(汇编作业)
[2011-05-19 13:44] 实验13(2)
如图所示成功显示80个'!'
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset lp
mov ax,0
mov es,ax
mov di,200h
mov cx,offset lpend-offset lp
cld
rep movsb ;安装中断例程
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0 ;设置中断向量
mov ax,...
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset lp
mov ax,0
mov es,ax
mov di,200h
mov cx,offset lpend-offset lp
cld
rep movsb ;安装中断例程
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0 ;设置中断向量
mov ax,...
阅读全文 |
评论次数(0) |
浏览次数(640) |
所属类型(汇编作业)
[2011-05-19 13:43] 实验13(1)
如图所示成功显示字符串
assume cs:code
data segment
db "welcom to masm!",0
data ends
code segment
start: mov ax,cs
mov ds,ax
mov si,offset show
mov ax,0
mov es,ax
mov di,200h
mov cx,offset showend-offset show
cld
rep movsb ;安装中断例程
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],20...
assume cs:code
data segment
db "welcom to masm!",0
data ends
code segment
start: mov ax,cs
mov ds,ax
mov si,offset show
mov ax,0
mov es,ax
mov di,200h
mov cx,offset showend-offset show
cld
rep movsb ;安装中断例程
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],20...
阅读全文 |
评论次数(0) |
浏览次数(713) |
所属类型(汇编作业)
[2011-05-19 13:40] 检测点13.1、13.2
(1)最大转移位移是0ffffh
注:尚有疑问,待考
(2)代码如下
assume cs:code
data segment
db 'conversation',0
data ends
code segment
start: mov ax,cs
mov ds,ax
mov si,offset jpn
mov ax,0
mov es,ax
mov di,200h
mov cx, offset jpnend-offset jpn
cld
rep movsb ;安装中断历程
mov ax,0
mov es,ax
mo...
注:尚有疑问,待考
(2)代码如下
assume cs:code
data segment
db 'conversation',0
data ends
code segment
start: mov ax,cs
mov ds,ax
mov si,offset jpn
mov ax,0
mov es,ax
mov di,200h
mov cx, offset jpnend-offset jpn
cld
rep movsb ;安装中断历程
mov ax,0
mov es,ax
mo...
阅读全文 |
评论次数(0) |
浏览次数(597) |
所属类型(汇编作业)