我想以不同于通常的白色文本颜色的颜色打印下面的数据块集,这可以通过使用另一个 DOS 中断(dx:string-address; ah,08H; int 21h)来实现。
Jan db " January$ "
string db "Sun Mon Tue Wed Thu Fri Sat$"
string1 db " 1 2 3$"
string2 db " 4 5 6 7 8 9 10$"
string3 db "11 12 13 14 15 16 17$"
string4 db "18 19 20 21 22 23 24$"
string5 db "25 26 27 28 29 30 31$"
Run Code Online (Sandbox Code Playgroud) 8086 上段的最小和最大大小是多少?而且,由于最小值,我们可以拥有的最大单独段数是多少?不需要所有的都同时处于活动状态。(重叠是可以接受的)
我试图制作一个代码,当你最后,它会问你是否想再试一次.如果按'y',它将在程序开头直接跳回1000行.
很明显,它没有成功,因为我得到错误"跳跃相对超出范围".所以我每50次跳跃,共有20次跳跃,比如说
start:
.
s20: jmp start
.
.
.
s2: jmp s3
.
s1: jmp s2
.
jmp s1
Run Code Online (Sandbox Code Playgroud)
在这之后,我运行了程序,当我按下"y"时,TASM有点冻结.它只是显示最后一个屏幕,带有'y'输入和一个闪烁的_.我再也不能按下一个角色了.
谢谢.
我很久以前就编写了一个代码来获取用户输入并在屏幕上打印.现在,我需要将它用于8088汇编程序并面临困难.看起来像汇编程序问题,所以请指导我.
org 100h
.data
var1 db 100 dup("$")
.code
inputString proc
mov ax,@data
mov ds,ax
mov si,offset var1
l1:
mov ah,1
int 21h
cmp al,13
je printString
mov [si],al
inc si
jmp l1
printString:
mov dx, offset var1
mov ah,9
int 21h
mov ah,4ch
int 21h
inputString endp
end inputString
ret
Run Code Online (Sandbox Code Playgroud)