NUC软院汇编六个实验
时间:2011-11-28
来源:互联网
二data segment
a db 1,2,3,4,1
b db 1,9,9,7,1
c db 6 dup(?)
data ends
code segment
main proc far
assume cs:code,ds:data
start:....
lea bx,a
lea si,b
lea di,c
mov cx,5
clc
k: mov al,[bx]
adc al,[si]
aaa
mov [di],al
inc si
inc di
inc bx
loop k
mov al,0
adc al,0
mov [di],al
lea bx,a
add bx,4
mov cx,5
kk: mov dl,[bx]
add dl,30h
mov ah,2
int 21h
dec bx
dec cx
jnz kk
mov dl,'+'
mov ah,2
int 21h
lea bx,b
add bx,4
mov cx,5
kkk:mov dl,[bx]
add dl,30h
mov ah,2
int 21h
dec bx
dec cx
jnz kkk
mov dl,'='
mov ah,2
int 21h
lea bx,c
add bx,5
mov cx,6
kkkk:mov dl,[bx]
add dl,30h
mov ah,2
int 21h
dec bx
dec cx
jnz kkk ret
main endp
code ends
end start
三:data segment
a db 5,5
b db 5,5
c1 db 3 dup(?)
c2 db 3 dup(?)
c db 4 dup(?)
data ends
code segment
main proc far
assume cs:code,ds:data
start:....
mov dl,a+1
add dl,30h
mov ah,2
int 21h
mov dl,a
add dl,30h
mov ah,2
int 21h
mov dl,'*'
mov ah,2
int 21h
mov dl,b+1
add dl,30h
mov ah,2
int 21h
mov dl,b
add dl,30h
mov ah,2
int 21h
mov dl,'='
mov ah,2
int 21h
mov al,a
mul b
aam
mov word ptr c1,ax
mov al,a+1
mul b
aam
add al,c1+1
aaa
adc ah,0
aaa
mov word ptr c1+1,ax
mov al,a
mul b+1
aam
mov word ptr c2,ax
mov al,a+1
mul b+1
aam
add al,c2+1
aaa
adc ah,0
aaa
mov word ptr c2+1,ax
mov al,c1
mov c,al
mov al,c1+1
add al,c2
aaa
mov c+1,al
mov al,c1+2
adc al,c2+1
aaa
mov c+2,al
mov al,0
adc al,c2+2
aaa
mov c+3,al
lea bx,c
add bx,3
mov cx,4
k: mov dl,[bx]
add dl,30h
mov ah,2
int 21h
dec bx
loop k
ret
main endp
code ends
end start
一:Hello world
fdata segment
a db 'hello,world!$'
data ends
code segment
main proc far
assume cs:code,ds:data
start:push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
lea dx,a
mov ah,9
int 21h
ret
main endp
code ends
end start
四:data segment
a dw 0307h,0802h,0605h,0909h,0506h,0103h,0401h,0808h,0702h,0105h
data ends
code segment
main proc far
assume cs:code,ds:data
start:
....
mov cx,10
dec cx
loop1: mov di,cx
mov bx,0
loop2: mov ax,a[bx]
cmp ax,a[bx+2]
jge continue
xchg ax,a[bx+2]
mov a[bx],ax
continue:add bx,2
loop loop2
mov cx,di
loop loop1
lea bx,a
mov cx,10
k: mov dl,[bx+1]
add dl,30h
mov ah,2
int 21h
mov dl,[bx]
add dl,30h
mov ah,2
int 21h
mov dl,' '
mov ah,2
int 21h
add bx,2
loop k
ret
main endp
code ends
end start
五:data segment
fenshu db 20个分数
a db ?b db ?c db ?d db ?
e db ? data ends
code segment
main proc far
assume cs:code,ds:data
start:push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov cx,20
lea si,fenshu
k: mov al,[si]
cmp al,90
jb k1
inc a
jmp continue
k1: cmp al,80
jb k2
inc b
jmp continue
k2: cmp al,70
jb k3
inc c
jmp continue
k3: cmp al,60
jb k4
inc d
jmp continue
k4: inc e
continue: inc si
dec cx
jnz k
mov cx,5
mov bl,41h
lea si,a
again: mov ah,2
mov dl,bl
int 21h
mov ah,2
mov dl,':'
int 21h
call display
mov dl,' '
mov ah,2
int 21h
inc si
inc bl
dec cx
jnz again
ret
main endp
display proc near
push bx
push ax
push cx
mov al,[si]
mov ah,0
mov bl,100
div bl
mov ch,ah
mov dl,al
add dl,30h
mov ah,2
int 21h
mov ah,ch
mov al,ah
mov ah,0
mov bl,10
div bl
mov ch,ah
mov dl,al
add dl,30h
mov ah,2
int 21h
mov dl,ch
add dl,30h
mov ah,2
int 21h
pop cx
pop ax
pop bx
ret
display endp
code ends
end start
六:
data segment
a1 db 'the key is1', 0dh, 0ah,'$'
a2—a9
data ends
code segment
main proc far
assume cs:code,ds:data
start:
...
k: mov ah,7
int 21h
sub al,30h
jb exit
cmp al,9
jae exit
cmp al,1
jnz k1
mov ah,9
lea dx,a1
int 21h
jmp k
k1: cmp al,2
jnz k2
mov ah,9
lea dx,a2
int 21h
jmp k
k2: cmp al,3
jnz k3
mov ah,9
lea dx,a3
int 21h
jmp k
k3: cmp al,4
jnz k4
mov ah,9
lea dx,a4
int 21h
jmp k
k4: cmp al,5
jnz k5
mov ah,9
lea dx,a5
int 21h
jmp k
k5: cmp al,6
jnz k6
mov ah,9
lea dx,a6
int 21h
jmp k
k6: cmp al,7
jnz k7
mov ah,9
lea dx,a7
int 21h
jmp k
k7: mov ah,9
lea dx,a8
int 21h
jmp k
exit:ret
main endp
code ends
end start
七:STACKS SEGMENT
STACKS ENDS
num dw 42,20,100,-456,99,120,-89,12334,90,1239
cnt equ $-num
max dw 0
min dw 0
DATAS ENDS
ASSUME CS:CODES,DS:DATA START: MOV AX,DATAS
MOV DS,AX
mov si,offset num
mov bx,[si]
add si,2
mov bp,bx
mov cx,10
dec cx
next: lodsw
cmp ax,bx
jle bj1
mov bx,ax
bj1: cmp ax,bp
jg bj2
mov bp,ax
bj2: loop next
mov max,bx
mov min,bp
MOV AX,4C00H
INT 21H
CODES ENDS
END START
a db 1,2,3,4,1
b db 1,9,9,7,1
c db 6 dup(?)
data ends
code segment
main proc far
assume cs:code,ds:data
start:....
lea bx,a
lea si,b
lea di,c
mov cx,5
clc
k: mov al,[bx]
adc al,[si]
aaa
mov [di],al
inc si
inc di
inc bx
loop k
mov al,0
adc al,0
mov [di],al
lea bx,a
add bx,4
mov cx,5
kk: mov dl,[bx]
add dl,30h
mov ah,2
int 21h
dec bx
dec cx
jnz kk
mov dl,'+'
mov ah,2
int 21h
lea bx,b
add bx,4
mov cx,5
kkk:mov dl,[bx]
add dl,30h
mov ah,2
int 21h
dec bx
dec cx
jnz kkk
mov dl,'='
mov ah,2
int 21h
lea bx,c
add bx,5
mov cx,6
kkkk:mov dl,[bx]
add dl,30h
mov ah,2
int 21h
dec bx
dec cx
jnz kkk ret
main endp
code ends
end start
三:data segment
a db 5,5
b db 5,5
c1 db 3 dup(?)
c2 db 3 dup(?)
c db 4 dup(?)
data ends
code segment
main proc far
assume cs:code,ds:data
start:....
mov dl,a+1
add dl,30h
mov ah,2
int 21h
mov dl,a
add dl,30h
mov ah,2
int 21h
mov dl,'*'
mov ah,2
int 21h
mov dl,b+1
add dl,30h
mov ah,2
int 21h
mov dl,b
add dl,30h
mov ah,2
int 21h
mov dl,'='
mov ah,2
int 21h
mov al,a
mul b
aam
mov word ptr c1,ax
mov al,a+1
mul b
aam
add al,c1+1
aaa
adc ah,0
aaa
mov word ptr c1+1,ax
mov al,a
mul b+1
aam
mov word ptr c2,ax
mov al,a+1
mul b+1
aam
add al,c2+1
aaa
adc ah,0
aaa
mov word ptr c2+1,ax
mov al,c1
mov c,al
mov al,c1+1
add al,c2
aaa
mov c+1,al
mov al,c1+2
adc al,c2+1
aaa
mov c+2,al
mov al,0
adc al,c2+2
aaa
mov c+3,al
lea bx,c
add bx,3
mov cx,4
k: mov dl,[bx]
add dl,30h
mov ah,2
int 21h
dec bx
loop k
ret
main endp
code ends
end start
一:Hello world
fdata segment
a db 'hello,world!$'
data ends
code segment
main proc far
assume cs:code,ds:data
start:push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
lea dx,a
mov ah,9
int 21h
ret
main endp
code ends
end start
四:data segment
a dw 0307h,0802h,0605h,0909h,0506h,0103h,0401h,0808h,0702h,0105h
data ends
code segment
main proc far
assume cs:code,ds:data
start:
....
mov cx,10
dec cx
loop1: mov di,cx
mov bx,0
loop2: mov ax,a[bx]
cmp ax,a[bx+2]
jge continue
xchg ax,a[bx+2]
mov a[bx],ax
continue:add bx,2
loop loop2
mov cx,di
loop loop1
lea bx,a
mov cx,10
k: mov dl,[bx+1]
add dl,30h
mov ah,2
int 21h
mov dl,[bx]
add dl,30h
mov ah,2
int 21h
mov dl,' '
mov ah,2
int 21h
add bx,2
loop k
ret
main endp
code ends
end start
五:data segment
fenshu db 20个分数
a db ?b db ?c db ?d db ?
e db ? data ends
code segment
main proc far
assume cs:code,ds:data
start:push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov cx,20
lea si,fenshu
k: mov al,[si]
cmp al,90
jb k1
inc a
jmp continue
k1: cmp al,80
jb k2
inc b
jmp continue
k2: cmp al,70
jb k3
inc c
jmp continue
k3: cmp al,60
jb k4
inc d
jmp continue
k4: inc e
continue: inc si
dec cx
jnz k
mov cx,5
mov bl,41h
lea si,a
again: mov ah,2
mov dl,bl
int 21h
mov ah,2
mov dl,':'
int 21h
call display
mov dl,' '
mov ah,2
int 21h
inc si
inc bl
dec cx
jnz again
ret
main endp
display proc near
push bx
push ax
push cx
mov al,[si]
mov ah,0
mov bl,100
div bl
mov ch,ah
mov dl,al
add dl,30h
mov ah,2
int 21h
mov ah,ch
mov al,ah
mov ah,0
mov bl,10
div bl
mov ch,ah
mov dl,al
add dl,30h
mov ah,2
int 21h
mov dl,ch
add dl,30h
mov ah,2
int 21h
pop cx
pop ax
pop bx
ret
display endp
code ends
end start
六:
data segment
a1 db 'the key is1', 0dh, 0ah,'$'
a2—a9
data ends
code segment
main proc far
assume cs:code,ds:data
start:
...
k: mov ah,7
int 21h
sub al,30h
jb exit
cmp al,9
jae exit
cmp al,1
jnz k1
mov ah,9
lea dx,a1
int 21h
jmp k
k1: cmp al,2
jnz k2
mov ah,9
lea dx,a2
int 21h
jmp k
k2: cmp al,3
jnz k3
mov ah,9
lea dx,a3
int 21h
jmp k
k3: cmp al,4
jnz k4
mov ah,9
lea dx,a4
int 21h
jmp k
k4: cmp al,5
jnz k5
mov ah,9
lea dx,a5
int 21h
jmp k
k5: cmp al,6
jnz k6
mov ah,9
lea dx,a6
int 21h
jmp k
k6: cmp al,7
jnz k7
mov ah,9
lea dx,a7
int 21h
jmp k
k7: mov ah,9
lea dx,a8
int 21h
jmp k
exit:ret
main endp
code ends
end start
七:STACKS SEGMENT
STACKS ENDS
num dw 42,20,100,-456,99,120,-89,12334,90,1239
cnt equ $-num
max dw 0
min dw 0
DATAS ENDS
ASSUME CS:CODES,DS:DATA START: MOV AX,DATAS
MOV DS,AX
mov si,offset num
mov bx,[si]
add si,2
mov bp,bx
mov cx,10
dec cx
next: lodsw
cmp ax,bx
jle bj1
mov bx,ax
bj1: cmp ax,bp
jg bj2
mov bp,ax
bj2: loop next
mov max,bx
mov min,bp
MOV AX,4C00H
INT 21H
CODES ENDS
END START
作者: cyl385111 发布时间: 2011-11-28
好歹也说说每个程序干什么的啊.
作者: zgdahai 发布时间: 2011-11-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28