社区
汇编语言
帖子详情
有关汇编文件的问题,请各位大神指点一下
m0_37922446
2017-11-15 12:31:05
现在的问题是这样的,我想从键盘输入一个单词,然后在内存中一个已存在的文件verb.txt查询这个单词,若找到则输出该单词,请问各位大神应该怎么实现,实在没有什么思路
...全文
699
9
打赏
收藏
有关汇编文件的问题,请各位大神指点一下
现在的问题是这样的,我想从键盘输入一个单词,然后在内存中一个已存在的文件verb.txt查询这个单词,若找到则输出该单词,请问各位大神应该怎么实现,实在没有什么思路
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
m0_37922446
2017-11-20
打赏
举报
回复
还可以这样啊,我之前不知道,谢谢了
日立奔腾浪潮微软松下联想
2017-11-20
打赏
举报
回复
你可以先把程序模块化,比如文件操作、串操作功能分别写到单独的汇编文件,假设叫fileop.inc、stringop.inc,然后在主程序中 include fileop.inc include stringop.inc 就可以使用其中函数了 否则像你现在这样写乱成一锅粥,可读性不好。
m0_37922446
2017-11-20
打赏
举报
回复
每行两个单词,用空格隔开,前面是原型,后面是过去式,我现在想在文件中查原型然后输出过去式0.0
日立奔腾浪潮微软松下联想
2017-11-20
打赏
举报
回复
verb.txt的格式是什么,每行一个单词?
zara
2017-11-17
打赏
举报
回复
没看明白后面的操作。
前面,读文件处,按照后面的 bx 和 cx 的比较来看,文件里也是和 int21h 的 0ah 输入的结构,那就无须 10000 字节的空间了,还读入几次,但又没变更地址。这样的设定,就一次读入 2+255 个字节就是了。读入后的个 int21h AH=40 操作何意?
m0_37922446
2017-11-16
打赏
举报
回复
现在键盘输入和文件的打开和读取都已经做好了,主要是不知道文件里的首地址和长度怎么给
m0_37922446
2017-11-16
打赏
举报
回复
DATAS SEGMENT PATHNAME DB'verb.txt',0 STR DB"Please input a word:$" STR1 DB"The past tense of the word is:$" STR2 DB"File not found!$" STR3 DB"OK!$" STR4 DB"Wrong!$" INPROC DB 10000 DUP(?) HANDLE DW 0 BUF DB 20 DB ? DB 20 DUP (?) CRLF DB 0AH,0DH,"$" DATAS ENDS STACKS SEGMENT STACK DB 200 DUP(?) STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS MAIN PROC FAR START: MOV AX,DATAS MOV DS,AX LEA DX,PATHNAME MOV AH,3DH MOV AL,00H INT 21H JNC OPENED LEA DX,STR2 MOV AH,9 INT 21H MOV AH,4CH INT 21H OPENED:MOV [HANDLE],AX MOV BX,[HANDLE] MOV AH,3FH LEA DX,INPROC MOV CX,10000 INT 21H MOV CX,AX MOV AH,40 MOV BX,1 INT 21H CMP CX,10000 JE OPENED FIND: LEA DX,STR MOV AH,9 INT 21H MOV AH,10 LEA DX,BUF INT 21H LEA DX,CRLF MOV AH,9 INT 21H MOV BL,BUF+1 MOV BH,0 LEA SI,BUF+2 LEA DI,INPROC+2 MOV CL,INPROC+1 MOV CH,0 CMP CX,BX JNC GOON LEA DX,STR4 MOV AH,4CH INT 21H GOON: CLD MOV AL,[SI] SCAN: REPNZ SCASB JZ MATCH JMP CHANGE MATCH: INC CX CMP CX,BX JC CHANGE PUSH CX PUSH SI PUSH DI MOV CX,BX DEC DI REPZ CMPSB POP DI POP SI POP CX JZ FOUND JCXZ CHANGE JMP SCAN CHANGE:MOV AL,[SI+BX-1] CMP AL,'e' JZ NEXT CMP AL,'y' JZ NEXT1 CALL PAST FOUND: DEC DI LEA DX,STR3 MOV AH,09H INT 21H MOV BX,[HANDLE] MOV AH,3EH INT 21H NEXT: MOV BYTE PTR[SI+BX],'d' LEA DX,STR1 MOV AH,9 INT 21H MOV DX,SI MOV AH,9 INT 21H MOV AH,4CH INT 21H NEXT1: MOV AL,[SI+BX-2] CMP AL,'a' JNZ NEXT2 CALL PAST NEXT2: MOV AL,[SI+BX-2] CMP AL,'e' JNZ NEXT3 CALL PAST NEXT3: MOV AL,[SI+BX-2] CMP AL,'i' JNZ NEXT4 CALL PAST NEXT4: MOV AL,[SI+BX-2] CMP AL,'o' JNZ NEXT5 CALL PAST NEXT5: MOV AL,[SI+BX-2] CMP AL,'u' JNZ NEXT6 CALL PAST NEXT6: MOV BYTE PTR[SI+BX-1],'i' MOV BYTE PTR[SI+BX],'e' MOV BYTE PTR[SI+BX+1],'d' LEA DX,STR1 MOV AH,9 INT 21H MOV DX,SI MOV AH,9 INT 21H MOV AH,4CH INT 21H PAST PROC MOV BYTE PTR[SI+BX],'e' MOV BYTE PTR[SI+BX+1],'d' LEA DX,STR1 MOV AH,9 INT 21H MOV DX,SI MOV AH,9 INT 21H MOV AH,4CH INT 21H PAST ENDP CODES ENDS END START 这是我的源代码,现在的问题是不管我输入的单词是不是在verb文件中,最终输出的都是调用了change段中的结果,这个是为什么啊
zara
2017-11-16
打赏
举报
回复
最简单的就是用 repe 来进行比较检查吧,没匹配,刚才的指针输入的单词再执行开头,内存里的指向刚才的下一个,继续以输入单词长度搜,直到内存剩下的不够单词长度了。
日立奔腾浪潮微软松下联想
2017-11-15
打赏
举报
回复
基本功能就是:键盘输入、文件打开/读取、串查找。
反
汇编
初级教程
这套课程是反
汇编
系列课程的基础阶段,后期将陆续推出反
汇编
进阶及反
汇编
课程。整套反
汇编
课程的教学目标是为了让大家能够窥息计算机程序世界的奥妙,为将来成为一名合格的大Hacker打下夯实的基础。 反
汇编
技术在...
java
汇编
代码段,新手求助,跪求各位
大神
解答,怎么把这段
汇编
转成java代码
本人新手,最近在折腾个so
文件
,通过IDA生成出来的脚本,有一段
汇编
代码不知道怎么用java去实现,求各位
大神
指点
loc_2498LDR R6, [SP,#0x50-0x40]LDR R7, [SP,#0x50-0x38]LSRS R4, R6, #0x18LSLS R4, R4, #2ADDS R7, R7, R4MOV R12, R7LDR R...
java内嵌
汇编
代码_新手求助,跪求各位
大神
解答,怎么把这段
汇编
转成java代码...
本人新手,最近在折腾个so
文件
,通过IDA生成出来的脚本,有一段
汇编
代码不知道怎么用java去实现,求各位
大神
指点
loc_2498LDR R6, [SP,#0x50-0x40]LDR R7, [SP,#0x50-0x38]LSRS R4, R6, #0x18LSLS R4, R4, #2ADDS R7, R7, R4MOV R12, R7LDR R...
【微机原理与接口技术学习实践】
汇编
语言程序设计实现——.ASM
文件
、.OBJ
文件
、.EXE
文件
综合
汇编
语言程序设计实现,对
汇编
基本知识概念进行了简要回顾,学习
汇编
语言程序的结构,进行了简单的完整
汇编
源程序的书写,并完成.asm
文件
、.obj
文件
、.exe
文件
的综合实践(持续更新中……)
【操作系统学习实践】从零开始制作,开发操作系统(一)——
汇编
语言的编写以及映像
文件
的制作
从零开始制作开发操作系统(一),主要进行
汇编
语言代码的编写,完成一个简易的可以显示hello,world的操作系统,并通过
汇编
程序生成映像
文件
,通过QEMU虚拟器完成装载与启动运行
汇编语言
21,459
社区成员
41,600
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章