码迷,mamicode.com
首页 > 其他好文 > 详细

8086汇编习题笔记

时间:2018-05-07 00:46:27      阅读:437      评论:0      收藏:0      [点我收藏+]

标签:习题   图片   ring   任务   统计   end   括号   color   code   

1.若自STRING单元开始存放有一个字符串(以字符‘$’结束),请实现以下任务:

⑴ 编程统计该字符串长度(不包含字符‘$’,并假设长度为两字节)。

⑵ 把字符串长度放在STRING单元,把整个字符串往下移两个单元。

(1)

 1 DATA SEGMENT
 2     STRING DB HELLO ASM$
 3 DATA ENDS
 4 CODE SEGMENT 
 5     ASSUME CS:CODE,DS:DATA;不然会导致无效操作 
 6    ;LEN AX,STRING;为什么不行
 7    ;MOV AX   , OFFSET STRING 为毛也不行
 8    LEA SI, STRING
 9    ;这里如何获取内存的物理地址里的值
10    ;SI里保存偏移地址,为区分寄存器寻址需要使用中括号[],使用SI,DI,BX时候默认的段基地址为DS,使用BP(堆栈)时候,段基地址为SS
11 AGAIN:
12    MOV AL, [SI] ;这里AL里存放的是数值,不是地址,下一个字符只需要inc si即可       
13    INC SI
14    CMP AL,$
15    JNZ ACTION
16    JZ OUTPUT
17 ACTION:
18     INC DL
19     JMP AGAIN
20 OUTPUT: 
21     ;注意不能直接输出,记得先转ascll码
22     ADD DL,30H
23     MOV AH,02H
24     INT 21H
25 CODE ENDS

初始寄存器值:技术分享图片结束后:技术分享图片

 

8086汇编习题笔记

标签:习题   图片   ring   任务   统计   end   括号   color   code   

原文地址:https://www.cnblogs.com/scrazy/p/9000421.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!