加载《第9周 课后作业 任务1-用子程序求字符串中的长度》成功,点击此处阅读
首页 →文档下载

第9周 课后作业 任务1-用子程序求字符串中的长度

以下为《第9周 课后作业 任务1-用子程序求字符串中的长度》的无排版文字预览,完整内容请下载

第9周 课后作业

任务1-用子程序求字符串中的长度

在数据区中给定了用0结束的字符串。请补充完成子程序,求出字符串的长度(0之前的字符个数),并将之保存在0之后的字节中。(以下面程序数据区中给出的字符串,得到的长度为24/18H)。

assume cs:cseg, ds:dseg, ss:sseg

sseg segment stack

dw 100h dup (?)

sseg ends

dseg segment

db 'YanTai University 264005', 0

dseg ends

cseg segment

start: mov ax, dseg

mov ds, ax

mov ax, sseg

mov ss, ax

mov sp, 100h

mov bx, 0

call getLength

mov ax, 4c00h

int 21h

;子程某某:getLength

;功 能:计算从DS:bx开始到以0结束的字符串的长度,并保存到0的后面

;入口参数:DS和BX寄存器中保存字符串的起始地址

;出口参数:无

getLength proc

; 在这里写出你的代码

ret

getLength endp

cseg ends

end start

提示:(1)就目前学过的知识,此项目只要用好jcxz指令即可有效解决“是否读到0”的问题,并不需要拓展学习后面的内容;(2)此项目中的字符串和C语言中的字符串概念相同,注意字符'0'和数值0有区别。

代码

assume cs:cseg, ds:dseg, ss:sseg

sseg segment stack

dw 100h dup (?)

sseg ends

dseg segment

db 'YanTai University 264005', 0

dseg ends

cseg segment

start: mov ax, dseg

mov ds, ax

mov ax, sseg

mov ss, ax

mov sp, 100h

mov bx, 0

call getLength

mov ax, 4c00h

int 21h

;子程某某:getLength

;功 能:计算从DS:bx开始到以0结束的字符串的长度,并保存到0的后面

;入口参数:DS和BX寄存器中保存字符串的起始地址

;出口参数:无

getLength proc

mov ax,0 ;AX寄存器计数

s1:

mov ch,0

mov cl,ds:[bx] ;CX寄存器做判断条件

jcxz s2

inc ax

inc bx ;BX寄存器做指针

jmp s1

s2:

mov ds:[bx],al ;保存

ret

getLength endp

cseg ends

end start

运行结果





任务2 - 向显存中传入字符(即教材中实验9)

编程序,在屏幕的中间分别显示绿 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 loop s

mov ax,4c00h

int 21h

main endp

col proc

push cx ;存放外循环的值

push si

mov ax,0

mov si,0

mov di,0

mov cx,16 ;内循环,16个字符

s1:

mov al,byte ptr ds:[di]

mov ah,dl

mov word ptr es:[bx+si],ax;存放字符值和属性值

inc si

inc si

inc di

loop s1

pop si

pop cx

ret

col endp

codesg ends

end start



[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]

以上为《第9周 课后作业 任务1-用子程序求字符串中的长度》的无排版文字预览,完整内容请下载

第9周 课后作业 任务1-用子程序求字符串中的长度由用户“yblnau”分享发布,转载请注明出处
XXXXX猜你喜欢
回顶部 | 首页 | 电脑版 | 举报反馈 更新时间2021-05-25 12:56:22
if(location.host!='wap.kao110.com'){location.href='http://wap.kao110.com/html/59/8a/63697.html'}ipt>if(location.host!='wap.kao110.com'){location.href='http://wap.kao110.com/html/59/8a/63697.html'}ipt>