实验内容
1) 给出一个数,例如37H或68H,请将此数显示在屏幕上。
2) 给定三个无符号数(字或字节),求出最大值,并将最大值存入MAX单元并在屏幕上显示。
3) 上述三个数改为带符号的数源代码
1)
data segment
; add your data here!
pkey db "press any key...$"
x db 37H;68H
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov es, ax
; add your code here
mov bl, x
mov ch,2
mov cl,4
rotate:
rol bl,cl
mov al,bl
and al,0FH
add al,30H
cmp al,3AH
jl printit
add al,7H
printit:
mov dl,al
mov ah,2
int 21H
dec ch
jnz rotate
mov ax, 4c00h ; exit to operating system.
int 21h
ends
2)
data segment
; add your data here!
pkey db "press any key...$"
MAX dw ?
x dw 3000H
y dw 3100H
z dw 0F200H
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov es, ax
; add your code here
mov ax, x
cmp ax, y
jb maxy
cmp ax, z
jb maxz
jmp maxx
maxy:
mov ax, y
cmp ax, z
jb maxz
jmp maxx
maxz:
mov ax, z
maxx:
mov MAX, ax
mov bx, max
mov ch,4
mov cl,4
rotate:
rol bx,cl
mov al,bl
and al,0FH
add al,30H
cmp al,3AH
jl printit
add al,7H
printit:
mov dl,al
mov ah,2
int 21H
dec ch
jnz rotate
mov ax, 4c00h ; exit to operating system.
int 21h
ends
3)
data segment
; add your data here!
pkey db "press any key...$"
MAX dw ?
x dw 3000H
y dw 3100H
z dw 0F200H
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov es, ax
; add your code here
mov ax, x
cmp ax, y
jl maxy
cmp ax, z
jl maxz
jmp maxx
maxy:
mov ax, y
cmp ax, z
jl maxz
jmp maxx
maxz:
mov ax, z
maxx:
mov MAX, ax
mov bx, max
mov ch,4
mov cl,4
rotate:
rol bx,cl
mov al,bl
and al,0FH
add al,30H
cmp al,3AH
jl printit
add al,7H
printit:
mov dl,al
mov ah,2
int 21H
dec ch
jnz rotate
mov ax, 4c00h ; exit to operating system.
int 21h
ends