82.asm

来自「一些小程序,关于汇编语言中程序的中断的使用,例子中包括字符输出」· 汇编 代码 · 共 31 行

ASM
31
字号
;例 用直接写屏方式在屏幕第4行、第10列以黄色(0EH)显示字符串"Hello".
;解:在文本显示方式下,每行显示80个字符,每个字符占2个字节,所以,显示一行需要160个字节。若在第m行、第n列位置显示字符,则该位置所对应存储单元的偏移量为:m×160 + n×2。

.MODEL SMALL
      .DATA
      Yellow EQU 0EH
      MSG1 DB "Welcome..."
      Count EQU $-MSG1
      .CODE
      .STARTUP
      MOV AX, 0B800H
      MOV ES, AX ;彩色显示器的显示缓冲区段地址
      MOV al,4
      mov bl,80
      IMUL bl     ;5行所跳过的显示存储单元
      MOV CX, 10
      ;SHL CX, 1 ;10列所跳过的显示存储单元
      ADD AX, CX ;第5行、第10列之前所跳过的所有显示单元
      SHL AX,1
      MOV DI,AX
      MOV CX, Count
      LEA SI, MSG1 ;CX:字符个数,SI:显示字符首地址
      MOV AH, Yellow ;设置显示属性,即显示颜色
next:
      LODSB ;取显示字符
      STOSW ;向显示缓冲区设置显示字符和属性
      loop next
      .EXIT 0
 END

⌨️ 快捷键说明

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