发布网友 发布时间:2022-05-12 17:42
共1个回答
热心网友 时间:2023-10-16 07:56
摘要亲 您好 代码如下: assume cs:codedata segment db 'Welcome to masm!', 0 ;内存data段中定义一个字符串data endscode segmentmain: ;字符串参数 mov dh, 8 ;屏幕的行数 mov dl, 3 ;所在行的列数 mov ch, 0 ;ch清零,防止高8位不为零。 mov cl, 2 ;颜色属性(此处应是二进制数0000 0010)mov ax, data mov ds, ax mov si, 0 ;将ds:si指向字符串 call show_strmov ax, 4c00H int 21H ;show_str功能 :按行和列及字符属性显示字符串 ;入口参数:dh-行数、dl-列数、cl-字符属性、ds:[si]指向字符串。 ;返回值:无show_str: push dx push cx push si ;将子程序用到的寄存器入栈mov ax, 0b800H mov es, ax ;设置显示缓冲区内存段mov ax, 0 ;(ax)= 0,防止高位不为零 mov al, 160 ;0a0H- 160字节/行 mul dh ;相对于0b800:0000第dh行偏移量 mov bx, ax ;将第(dh)行的偏移地址送入bx,bx代表行偏移 mov ax, 0咨询记录 · 回答于2021-12-09用汇编语言,采用接寻址循环控制方式,编子程序,完成从内部数据存储区50H-5FH的16个单字节数累加,累加结果存放 30H(高字节)、31H(低字节)您好,您的问题我已经看到了,正在整理答案,请您稍等一会儿~好的https://blog.csdn.net/hfdjfd/article/details/102825253亲 很高兴为您解答,已经为您查找到相关信息链接 请您打开链接了解一下 ,要是还有问题您在联系我~ 希望能够帮到您,望采纳,谢谢!这不是我想要的,我想要帮我写出这个编程亲 您好 代码如下: assume cs:codedata segment db 'Welcome to masm!', 0 ;内存data段中定义一个字符串data endscode segmentmain: ;字符串参数 mov dh, 8 ;屏幕的行数 mov dl, 3 ;所在行的列数 mov ch, 0 ;ch清零,防止高8位不为零。 mov cl, 2 ;颜色属性(此处应是二进制数0000 0010)mov ax, data mov ds, ax mov si, 0 ;将ds:si指向字符串 call show_strmov ax, 4c00H int 21H ;show_str功能 :按行和列及字符属性显示字符串 ;入口参数:dh-行数、dl-列数、cl-字符属性、ds:[si]指向字符串。 ;返回值:无show_str: push dx push cx push si ;将子程序用到的寄存器入栈mov ax, 0b800H mov es, ax ;设置显示缓冲区内存段mov ax, 0 ;(ax)= 0,防止高位不为零 mov al, 160 ;0a0H- 160字节/行 mul dh ;相对于0b800:0000第dh行偏移量 mov bx, ax ;将第(dh)行的偏移地址送入bx,bx代表行偏移 mov ax, 0