当前位置:网站首页>Compile homework after class
Compile homework after class
2022-07-06 17:02:00 【My71】
Homework 1: Letter conversion
demand
- prompt # No. end procedure .
- Prompt for a character .
- Judge whether the character is legal (a~z A~Z)
- Legal input : Prompt the conversion result : Enter the conversion result .
- illegal input : Count , End the program more than three times .
- Input # No. end procedure .
flow chart
Code implementation
data segment
count db 33h
input db "Input $"
program db " end of the program$"
prompt db "Please enter a character: $"
message db "Please enter the correct characters $"
result db "The results: $"
data ends
code segment
assume cs:code,ds:data
main:
mov ax,data
mov ds,ax
mov dx,offset input
call ah09
mov dl,23h
call ah02
mov dx,offset program
call ah09
call br
jmp start
start: ; Start
mov dx,offset prompt
call ah09
mov ah,01h
int 21h
call br
cmp al,23h
jz edit
cmp al,5bh
jl upper
cmp al,60h
jg lower
upper: ; Handle capitalization
cmp al,41h
jl error
add al,20h
jmp print
lower: ; Handle lowercase
cmp al,7ah
jg error
sub al,20h
jmp print
print: ; Output
mov dx,offset result
call ah09
mov dl,al
call ah02
call br
jmp start
error: ; Error handling
dec count
cmp count,30h
jz edit
mov dx,offset message
call ah09
call br
jmp start
edit:
mov ah,4ch
int 21h
ah09 proc near
push ax
mov ah,09h
int 21h
pop ax
ret
ah09 endp
ah02 proc near
push ax
mov ah,02h
int 21h
pop ax
ret
ah02 endp
br proc near
push dx
mov dl,0ah
call ah02
pop dx
ret
br endp
code ends
end main
Homework 2: Timer effect
demand
- 00 ~ 99 Cycle show .
- Print a number every time .
- Clear the last output number before printing the current number .
- Press any key to exit the program
flow chart
Code implementation
data segment
ten db 30h
bis db 30h
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
fbis:
mov ah,0bh
int 21h
cmp al,00h
jnz exit
mov dl,ten
call d02
mov dl,bis
call d02
call timer
mov dl,0dh
call d02
inc bis
cmp bis,3ah
jb fbis
inc ten
mov bis,30h
cmp ten,3ah
jb fbis
mov ten,30h
mov bis,30h
jmp fbis
exit:
mov ah,4ch
int 21h
d02 proc near
mov ah,02h
int 21h
ret
d02 endp
timer proc near
push cx
push dx
mov cx,1000h
fori:
mov dx,50h
forj:
dec dx
cmp dx,0h
jg forj
dec cx
cmp cx,0h
jg fori
pop dx
pop cx
ret
timer endp
code ends
end start
Homework 3: Analog hexadecimal conversion
demand
- Put the value to be converted into BL In the register ( Advanced version : Input from keyboard )
- Output BL Binary and hexadecimal data stored in .
flow chart
Code
code segment
assume cs:code
start:
mov bl,0a1h
call toBinary
call toHexade
edit:
mov ah,4ch
int 21h
toBinary proc near
push bx
push cx
push dx
mov cx,8
loopi:
rol bl,1
mov dl,bl
and dl,01h
add dl,30h
call d02
loop loopi
mov dl,'B'
call d02
call br
pop dx
pop cx
pop bx
ret
toBinary endp
toHexade proc near
push bx
push cx
push dx
mov cx,2
loopj:
push cx
mov cl,4
rol bl,cl
pop cx
mov dl,bl
and dl,0fh
cmp dl,09h
jg letter
jng number
letter:
add dl,37h
jmp print
number:
add dl,30h
print:
call d02
loop loopj
mov dl,'H'
call d02
pop dx
pop cx
pop bx
ret
toHexade endp
d02 proc near
mov ah,02h
int 21h
ret
d02 endp
br proc near
push dx
mov dl,0ah
call d02
pop dx
ret
br endp
code ends
end start
边栏推荐
- Monomer application concept
- 面试集锦库
- Activiti目录(五)驳回、重新发起、取消流程
- 唯有学C不负众望 TOP5 S1E8|S1E9:字符和字符串&&算术运算符
- Data config problem: the reference to entity 'useunicode' must end with ';' delimiter.
- Shell_ 06_ Judgment and circulation
- J'ai traversé le chemin le plus fou, le circuit cérébral d'un programmeur de saut d'octets
- MySQL string function
- ~71 abbreviation attribute of font
- The QT program compiled on CentOS lacks a MySQL driven solution
猜你喜欢
Train 100 pictures for 1 hour, and the style of the photos changes at will. There is a demo at the end of the article | siggraph 2021
~69 other ways to use icon fonts
MySQL字符串函数
IDEA断点调试技巧,多张动图包教包会。
7-4 harmonic average
Idea resolving jar package conflicts
数据传送指令
Usage of insert() in vector
ByteDance open source Gan model compression framework, saving up to 97.8% of computing power - iccv 2021
When it comes to Google i/o, this is how ByteDance is applied to flutter
随机推荐
字节跳动2022校招研发提前批宣讲会,同学们最关心的10个问题
Notes on how the network is connected
在 vi 编辑器中的命令模式下,删除当前光标处的字符使用 __ 命 令。
7-8 likes (need to continue to improve)
~69 other ways to use icon fonts
DS18B20数字温度计系统设计
[unsolved]7-14 calculation diagram
字节跳动春招攻略:学长学姐笔经面经,还有出题人「锦囊」
Introduction to microservices
High performance mysql (Third Edition) notes
8086 segmentation technology
8086 memory
8086 CPU 内部结构
Error: case label `15 'not within a switch statement
Shell_ 06_ Judgment and circulation
~82 style of table
MySQL string function
ByteDance open source Gan model compression framework, saving up to 97.8% of computing power - iccv 2021
Continue and break jump out of multiple loops
The QT program compiled on CentOS lacks a MySQL driven solution