使用DOS int 21hAPI,如何在文件中间写文本而不是重写?即执行"插入"操作,而不是覆盖.
我要进行汇编测试,并且对汇编指针有疑问。我正在尝试锻炼,但无法解决。
考虑一下C中的语句:
int x=100, y=200;
int far *ptx;
int far *pty;
Run Code Online (Sandbox Code Playgroud)
假设指令已经执行:
ptx=&x;
pty=(int *)malloc(sizeof(int));
Run Code Online (Sandbox Code Playgroud)
我的问题是关于如何在汇编中编码以下几点:
ptx=pty*ptx=*pty我想以不同于通常的白色文本颜色的颜色打印下面的数据块集,这可以通过使用另一个 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) 我正在使用汇编语言编辑项目,数据段中有一行:
buffer1 db 80, 0, 80 dup(0)
Run Code Online (Sandbox Code Playgroud)
有人可以详细说明吗?
我试图制作一个代码,当你最后,它会问你是否想再试一次.如果按'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'输入和一个闪烁的_.我再也不能按下一个角色了.
谢谢.