アセンブリ言語で文字を表示する

1つのコード実装

;SAMPLE PROGRAM DISPLAY MESSAGE          ;注释行

 STACK      SEGMENT PARA STACK 'STACK'      ;定义堆栈段
              DB 1024 DUP (0)                ;在存储器的某个区域建立一个堆栈区
 STACK      ENDS

 DATA       SEGMENT                   ;定义数据段
 MESSAGE   DB 'THIS IS A SAMPLE PROGRAM. $'  ;在存储器中存放供显示的数据
DATA        ENDS                                         ;数据段结束

CODE        SEGMENT                          ;定义代码段
MAIN  PROC  FAR                                 ;将程序定义为远过程
             ASSUME  CS:CODE,DS:DATA,SS:STACK  ;告诉汇编程序段范围
 START:  
            PUSH DS
            MOV AX,0                         ;可用XOR AX,AX
            PUSH AX                           ;标准序,以便返回DOS操作系统
            MOV AX,DATA
            MOV DS,AX              ;初始化DS     
            LEA DX, MESSAGE                    ;MESSAGE 地址偏移量给DX
            MOV  AH,9
            INT     21H               ;调用 DOS 9号中断功能显示字符串。
            RET                        ;返回DOS 操作系统
    MAIN      ENDP                                  ;过程结束
      CODE     ENDS                                  ;代码段结束
        END MAIN                    ;整个程序汇编结束



   MAIN  ENDP
      CODE   ENDS
              END  MAIN

ここに写真の説明を挿入
2.実行結果
ここに写真の説明を挿入
3.デバッグで
ここに写真の説明を挿入
ここに写真の説明を挿入
は、AXメモリのアドレスは0000であると推測できます。ASCIIコードを検索して比較すると、内容は次のとおりです。これはサンプルプログラムです。実行結果と同様に、画面に表示される内容は同じであり、結果は正しいです。 。

おすすめ

転載: blog.csdn.net/weixin_43789635/article/details/112981920