Assembly 组件8086的数据显示方式

Assembly 组件8086的数据显示方式,assembly,x86,ascii,dos,x86-16,Assembly,X86,Ascii,Dos,X86 16,我有8086汇编程序。我必须从文本文件中加载一个字符并将其加载到过程中。 我在BUI中访问数据有问题,因为我想获取这个字符的ascii码 mov cx,0 mov dx,0 petla: mov ax,4200h int 21h mov dx,offset Text mov cx,1 mov ah

我有8086汇编程序。我必须从文本文件中加载一个字符并将其加载到过程中。 我在BUI中访问数据有问题,因为我想获取这个字符的ascii码

            mov cx,0        
            mov dx,0       
petla:
            mov ax,4200h
            int 21h


            mov dx,offset Text
            mov cx,1
            mov ah,3fh          
            int 21h  

            mov dx,offset Text
            mov ah,9h           
            int 21h
            mov dx,offset Text
            mov Ton,dl
            call Sound         

            inc licznik
            mov dx,counter
            mov cx,0
            cmp dx,lenght
            JNZ petla
.
.
.
Text db 30000 dup ('$') ;
我想在这部分中获取字符ascii编号:

mov Ton, This Ascii
这个程序在我的txt文件的文本行上迭代。它看起来像这样

Hello word
0 -> H
1 -> e
2 -> l
3 -> l
这个字符保存在buffer文本和注册表中,我一直有000F

定义一个非常大的缓冲区,但是

将用缓冲区偏移地址的低位字节加载Ton变量。正如你所发现的,这个值总是一样的

要获取存储在缓冲区中的第一个字符,需要写入(MASM语法):

您不仅限于上述内容,尽管这是首选方式。
接下来的代码片段也可以工作。只是为了给你一个想法:

mov si, offset Text
mov dl, [si]
mov Ton, dl
而且

mov si, offset Text
mov di, offset Ton
movsb                 ; Expects DS == ES

哇,谢谢你,太简单了
mov al, Text
mov Ton, al
mov si, offset Text
mov dl, [si]
mov Ton, dl
mov si, offset Text
mov di, offset Ton
movsb                 ; Expects DS == ES