写了一个字符串比较的小程序,结果发现无论如何都输出2,为什么?

asdf12312y 2010-12-30 11:23:35
code segment
assume cs:code
org 100h
db 'hbha$';我改成aaaa,或者kkkk,结果竟然都还是输出"2"
db 'hche$'
start:
mov si,100h
mov di,105h
mov ax,0h
mov ds,ax
mov es,ax
mov cl,4h
rep cmpsb
jl printl
jg printg
printe:
mov ah,2h
mov dl,31h;输出1
int 21h
jmp return
printl:
mov ah,2h
mov dl,32h;输出2
int 21h
jmp return
printg:
mov ah,2h
mov dl,33h;输出3
int 21h
return:
mov ah,4ch
int 21h
code ends
end start

----------------------

我的代码到底错在哪里?
...全文
100 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shzhfu 2010-12-31
  • 打赏
  • 举报
回复
楼上已指出了你的主要错误,我再补充一下。

code segment
assume cs:code
org 100h
jmp start 看你的程序结构应该是希望写成.com程序, 如果是这样, 偏移地址100H处必须是可执行指令(它是入口地址), 加这句转到真正的入口处. 如果这样就不用给ds赋值了, 且最后的end入口地址也不能是start了.

mov cl,4h 循环次数要用cx控制


rep cmpsb rep 是无条件重复4次, 所以前3次比较都白做.


jl printl 这里用的是最后那次比较的结果
jg printg
shyokou 2010-12-31
  • 打赏
  • 举报
回复
介个改得好聪明 ;-)

[Quote=引用 1 楼 masmaster 的回复:]

修改以后, 你再试一试,注意注释部分
Assembly code

code segment
assume cs:code,ds:code,es:code ;貌似必须的
org 100h
db 'hdha$'
db 'hdda$'
start:
mov si,100h
mov di,105h
mov ax,cs ;这个也必须
mov ds,ax
m……
[/Quote]
masmaster 2010-12-30
  • 打赏
  • 举报
回复
修改以后, 你再试一试,注意注释部分

code segment
assume cs:code,ds:code,es:code ;貌似必须的
org 100h
db 'hdha$'
db 'hdda$'
start:
mov si,100h
mov di,105h
mov ax,cs ;这个也必须
mov ds,ax
mov es,ax
mov cx,4h
cld ;这个事必须的
repz cmpsb ;rep要加Z
jl printl
jg printg
printe:
mov ah,2h
mov dl,31h
int 21h
jmp return
printl:
mov ah,2h
mov dl,32h
int 21h
jmp return
printg:
mov ah,2h
mov dl,33h
int 21h
return:
mov ah,4ch
int 21h
code ends
end start
源码链接: https://pan.quark.cn/s/a4b39357ea24 在本研究中,我们将详细研究如何借助Python执行数据可视化,旨在剖析2018年期间中国四个主要城市——北京、上海、广州以及深圳的空气质量状况。通过绘制反映空气质量指数(AQI)与细颗粒物(PM2.5)变化趋势的图表,我们能够深入理解这些大都市全年的空气环境质量,并明确评估其优良天气所占的比重。 我们必须首先进行数据准备工作。在当前提供的压缩文件内,名为"2018天气"的文件极有可能是数据来源,其中可能收录了涉及四个城市每日空气质量监测的详细信息。这些数据通常涵盖日期、城市名称、AQI数值、PM2.5含量等核心参数。在Python编程环境中,我们惯常运用pandas库来对这类结构化数据进行高效的处理和分析。 1. **数据导入与初步处理**: - 利用`pandas.read_csv()`方法来导入存储为CSV格式的数据资料。 - 数据整理:对数据中的空白项、非正常数值进行修正,保证数据的精确性。 - 调整日期字段的格式,确保其能够适用于时间序列分析的需求。 2. **数据深度分析**: - 针对每个城市的AQI和PM2.5数据执行统计性描述,例如计算平均值、中位数、标准偏差等指标。 - 确定空气质量良好天气的天数,即那些AQI值低于75(依据中国的空气质量评估标准)的日数。 3. **数据呈现**: - 运用matplotlib或seaborn工具绘制折线图,直观展示四个城市在2018年全年的AQI和PM2.5变化动态。 - 可通过采用不同的颜色方案和线条类型来区分不同城市的数据系列。 - 添加必要的图示元素,如日期坐标轴、城市名称标注、图表标题及图例说明,以提升图表的可读...

21,500

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧