汇编网首页登录博客注册
tom7370的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新评论
最新留言
文章收藏

[2019-04-08 17:40] 实验十+实验十一+试验十五

show_str

assume cs:code,ss:stack
data segment
db 'Welcome to masm!',0
data ends
stack segment
db 32 dup (0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,32
mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
int 21h
show_str:push ax
push es
push dx
push cx
push di
push si
mov ax,0b800h
mov es,ax
mov al,160
mul dh
mov di,ax
mov al,2
mul dl
add di,ax
mov al,cl
mov ch,0
a1:mov cl,ds:[si]
jcxz a2
mov es:[di],cl
mov es:[di+1],al
inc si
inc di
inc di
jmp a1
a2:
pop si
pop di
pop cx
pop dx
pop es
pop ax
ret
code ends
end start


divdw

assume cs:code,ss:stack
stack segment
db 32 dup (0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,32
mov ax,4240h
mov dx,000fh
mov cx,0ah
call divdw
mov ax,4c00h
int 21h
divdw:push bx
push di
mov di,ax
mov ax,dx
mov dx,0
div cx
mov bx,ax
mov ax,di
div cx
mov cx,dx
mov dx,bx
pop di
pop bx
ret
code ends
end start


dtoc

assume cs:code,ss:stack
data segment
db 10 dup (0)
data ends
stack segment
db 64 dup (0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,64
mov ax,12666
mov bx,data
mov ds,bx
mov si,0
call dtoc
mov dh,8
mov di,3
mov cl,2
call show_str
mov ax,4c00h
int 21h
dtoc:push ax
push bx
push cx
push dx
push si
push di
mov bx,10
mov di,0
b1:mov dx,0
div bx
inc di
add dx,30h
push dx
mov cx,ax
inc cx
loop b1
mov cx,di
b2:pop bx
mov ds:[si],bl
add si,1
loop b2
pop di
pop si
pop dx
pop cx
pop bx
pop ax
ret
show_str:push ax
push es
push dx
push cx
push di
push si
mov ax,0b800h
mov es,ax
mov al,160
mul dh
mov di,ax
mov al,2
mul dl
add di,ax
mov al,cl
mov ch,0
a1:mov cl,ds:[si]
jcxz a2
mov es:[di],cl
mov es:[di+1],al
inc si
inc di
inc di
jmp a1
a2:
pop si
pop di
pop cx
pop dx
pop es
pop ax
ret
code ends
end start




letterc

assume cs:codesg
datasg segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
datasg ends
codesg segment
begin:mov ax,datasg
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 21h
letterc:push ax
push cx
push si
pushf
mov ch,0
f1:mov cl,ds:[si]
jcxz f2
mov al,ds:[si]
cmp al,61h
jb f
cmp al,7ah
ja f
sub al,20h
mov ds:[si],al
inc si
jmp f1
f:inc si
jmp f1
f2:popf
pop si
pop cx
pop ax
ret
codesg ends
end begin


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
mov di,204h
mov cx,offset int9end-offset int9
cld
rep movsb
push es:[9*4]
pop es:[200h]
push es:[9*4+2]
pop es:[202h]
cli
mov word ptr es:[9*4],204h
mov word ptr es:[9*4+2],0
sti
mov ax,4c00h
int 21h
int9:push ax
push bx
push cx
push dx
in al,60h
pushf
call dword ptr cs:[200h]
cmp al,9eh
jne int9ret
mov ah,2
mov bh,0
mov dx,0
int 10h
mov ah,9
mov al,'A'
mov bx,0000000011001010b
mov cx,4000
int 10h
int9ret:pop dx
pop cx
pop bx
pop ax
iret
int9end:nop
code ends
end start
评论次数(0)  |  浏览次数(607)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码