h212.asm

来自「关于8086汇编的一些实验程序」· 汇编 代码 · 共 67 行

ASM
67
字号
stack segment stack'stack'
      dw 32 dup(?)
stack ends
data segment
IBF DB 11,0,11 DUP(?)
OBF1 DB 10 DUP(?)
OBF2 DB 10 DUP(?)
data ends
code segment
begin proc far
      assume ss:stack,cs:code,ds:data
      push ds
      sub ax,ax
      push ax
      mov ax,data
      mov ds,ax

      MOV DX,OFFSET IBF
      MOV AH,10
      INT 21H

      MOV BL,IBF+1;if mov bx,word ptr ibf+1,it's wrong.becaus now bh is not 00
      MOV BH,0
      MOV CX,BX
      DEC BX
      ADD BX,BX
      MOV OBF2[BX+1],'$'
      MOV DI,0
      MOV SI,OFFSET IBF+2

AGAIN:MOV AL,[SI]
      MOV OBF1[DI],AL
      INC DI
      MOV OBF1[DI],';'
      INC DI
      
      MOV OBF2[BX],AL
      DEC BX
      MOV OBF2[BX],';'
      DEC BX
      INC SI
      LOOP AGAIN
      
      DEC DI
      MOV OBF1[DI],'$'

      MOV DX,OFFSET OBF1
      MOV AH,9
      INT 21H

      MOV DL,0AH
      MOV AH,2
      INT 21H
      MOV DL,0DH
      MOV AH,2
      INT 21H
    
      MOV DX,OFFSET OBF2
      MOV AH,9
      INT 21H
      ret 
begin endp
code ends
     end begin

      

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?