汇编_输出字符串

assume cs:code, ds:data, ss:stack
data segment
	 pkey db 'please input strings ','$'
	 InStr db 20 dup(0)
	 InCount db 0
	 temp dw 0
data ends

stack segment
	dw 100 dup(0)
stack ends

code segment
start:
	 mov ax, data
	 mov ds, ax
	 mov ax, stack
	 mov ss, ax
	
	 mov dx, offset pkey
	 mov ah, 9
	 int 21h
	 call  backEnter
	 call inputStr
	 call  backEnter
	 call outputStr
exit:
	 mov ah, 4ch
	 int 21h
;==========函数调用=============
backEnter proc near
 	 mov dl, 0ah			;回车换行
	 mov ah, 2 
	 int 21h
	 mov dl, 0dh
	 mov ah, 2 
	 int 21h
	 ret
backEnter ENDP
;==========输入字符串==========
inputStr proc near
	 push BX
	 LEA BX,InStr
inloop:
	  MOV AH,1      ;输入字符串
      INT 21H
	  CMP AL,'$'
	  JZ  inOver
	  MOV [BX], AL
	  INC BX
	  INC InCount
	  JMP inloop
inOver:
	  pop BX
	  ret
inputStr ENDP
;==========输出字符串==========
outputStr proc near
	 push SI
	 push CX
 	 lea SI, InStr    ;InStr 指向 将要输出的字符串
	 mov CX, InCount
outloop:
	 mov DL,[SI]
	 mov AH, 2
	 int 21H
	 inc SI
	 loop outloop
	 
	 pop CX
	 pop SI
	 ret
outputStr ENDP
;==========函数调用=============
	code ends
end start

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值