设计汇编语言程序 要求在屏幕上输出字符串

2025-12-05 16:49:15
推荐回答(2个)
回答1:

assume cs:code,ds:data,ss:stack
data segment
  msg0 dw msg2,msg3,msg4
  msg1 db 'please input number:1,2,3?',10,13,'$'

msg2 db '****** ',13,10,'$'

msg3 db ' * ',13,10
  db ' *** ',13,10
  db ' ***** ',13,10
  db '*******',13,10,'$'

msg4 db '****** ',13,10
  db '****** ',13,10
  db '****** ',13,10
  db '****** ',13,10
  db '****** ',13,10
  db '****** ',13,10,'$'

data ends
stack segment stack

  db 20H dup (?)

stack ends
code segment
start:
  mov ax,data
  mov ds,ax
  mov ax,stack
  mov ss,ax
  mov sp,18h
lop:
  mov ax,3
  int 10h
lop2:
  lea dx,msg1
  mov ah,9
  int 21h

  mov ah,1
  int 21h

  cmp al,'1'
  jb lop
  cmp al,'3'
  ja lop
  sub al,31h
  add al,al
  cbw
  mov bx,ax

  mov dl,13
  mov ah,2
  int 21h
  mov dl,10
  mov ah,2
  int 21h

  mov dx,[bx]
  mov ah,9
  int 21h

  mov ah,7
  int 21h
  cmp al,0dh

  jne lop2

  mov ax,4c00h
  int 21h

code ends
end start

回答2:

输入123,显示不同图形。

输入其它,就结束?

(必须可以循环显示),--就是上面说的意思吗?