显示来自 bufor 程序集 8086 的数据的方法
way to display data from bufor assembly 8086
我在程序集 8086 中有程序。我必须从文本文件加载一个字符并将其加载到过程中。
我在 bufor 中访问数据有问题我想获取此字符的 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 ('$') ;
我想在这部分获取 char ascii 数字:
mov Ton, This Ascii
此程序在我的 txt 文件中的文本行上进行迭代。它看起来像这样
Hello word
0 -> H
1 -> e
2 -> l
3 -> l
这个字符一直保存在缓冲区文本和注册表中,我一直有 000F
Text db 30000 dup ('$') ;
定义了一个非常大的缓冲区,但是
mov dx,offset Text
mov Ton,dl
将使用缓冲区偏移地址的低字节加载您的 Ton 变量。正如您所发现的那样,这将始终是相同的值。
要获取存储在缓冲区中的第一个字符,您需要编写(MASM语法):
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
我在程序集 8086 中有程序。我必须从文本文件加载一个字符并将其加载到过程中。 我在 bufor 中访问数据有问题我想获取此字符的 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 ('$') ;
我想在这部分获取 char ascii 数字:
mov Ton, This Ascii
此程序在我的 txt 文件中的文本行上进行迭代。它看起来像这样
Hello word
0 -> H
1 -> e
2 -> l
3 -> l
这个字符一直保存在缓冲区文本和注册表中,我一直有 000F
Text db 30000 dup ('$') ;
定义了一个非常大的缓冲区,但是
mov dx,offset Text mov Ton,dl
将使用缓冲区偏移地址的低字节加载您的 Ton 变量。正如您所发现的那样,这将始终是相同的值。
要获取存储在缓冲区中的第一个字符,您需要编写(MASM语法):
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