实训汇编语言设计——生成一个口字
2007-12-21 14:19
381 查看
输入3-9之间的一个数 生成一个口字:
如 4
XXXX
X X
X X
XXXX
data segment
N dw ?
data ends
code segment
main proc far
assume ds:data,cs:code
start:
push ds
xor ax,ax
push ax
mov ax,data
mov ds,ax
mov ah,1
int 21h
cmp al,'3'
jl exit
cmp al,'9'
jg exit
sub al,30h
and ax,0fh
mov
,ax
mov ah,2 ;linefeed
mov dl,0ah
int 21h
mov dl,0dh
int 21h
mov cx,
first:
mov ah,2
mov dl,'x'
int 21h
loop first
mov bh,byte ptr
dec bh
L:
mov dl,0dh
int 21h
mov dl,0ah
int 21h
dec bh
jz last
mov bl,2 ;bl为中间行输出字符数
L2:
mov dl,'x'
int 21h
dec bl
jz L
mov si,
sub si,2 ;si为中间行输出的空格数
L3:
mov dl,20h
int 21h
dec si
jnz L3
jmp L2
last:mov cx,
L4:mov dl,'x'
int 21h
loop L4
exit:ret
main endp
code ends
end start
如 4
XXXX
X X
X X
XXXX
data segment
N dw ?
data ends
code segment
main proc far
assume ds:data,cs:code
start:
push ds
xor ax,ax
push ax
mov ax,data
mov ds,ax
mov ah,1
int 21h
cmp al,'3'
jl exit
cmp al,'9'
jg exit
sub al,30h
and ax,0fh
mov
,ax
mov ah,2 ;linefeed
mov dl,0ah
int 21h
mov dl,0dh
int 21h
mov cx,
first:
mov ah,2
mov dl,'x'
int 21h
loop first
mov bh,byte ptr
dec bh
L:
mov dl,0dh
int 21h
mov dl,0ah
int 21h
dec bh
jz last
mov bl,2 ;bl为中间行输出字符数
L2:
mov dl,'x'
int 21h
dec bl
jz L
mov si,
sub si,2 ;si为中间行输出的空格数
L3:
mov dl,20h
int 21h
dec si
jnz L3
jmp L2
last:mov cx,
L4:mov dl,'x'
int 21h
loop L4
exit:ret
main endp
code ends
end start
相关文章推荐
- 实训汇编语言设计——生成一个口字
- 实训汇编语言设计——生成方波正弦波
- 实训汇编语言设计——接受一个小写字母,找出前个字符和后续字符
- 实训汇编语言设计——接受一个小写字母,找出前个字符和后续字符
- 实训汇编语言设计——接受一个小写字母输出对应大写字母
- 实训汇编语言设计——接受一个小写字母输出对应大写字母
- 实训汇编语言设计——生成方波正弦波
- 实训汇编语言设计——学生的成绩统计
- 实训汇编语言设计——人机对话
- 实训汇编语言设计——16位数拆分为4组
- 实训汇编语言设计——键盘命令
- 使用汇编语言编写程序,设计一个用8051单片机控制的循环彩灯控制系统
- 实训汇编语言设计——键盘命令
- 实训汇编语言设计——输入1-12 ,显示月份缩写
- 实训汇编语言设计——存储区数据传输
- 实训汇编语言设计——比较两个字符串
- 实训汇编语言设计——输入1-12 ,显示月份缩写
- 实训汇编语言设计——存储区数据传输
- 实训汇编语言设计——比较两个字符串
- 实训汇编语言设计——找出两个数组中相同的整数