,mov bx bl哪里错
C语言嵌套汇编语言,获取HDD硬盘序列号void_stdcallReadIdeSerialNumber(){_asm{pusheax//获取修改的中断的中断描述符地址sidtIDTRmoveax,dwordptraddeax,3*08h04hcli//保存原先的中断入口地址pushecxmovecx,dwordptrmovcx。
ecxpopecx//设置修改的中断入口地址为新的中断处理程序入口地址pushebxleaebx,InterruptProcessmovwordptr,bxshrebx,10hmovwordptr,bxpopebx//执行中断,转到Ring0int3h//恢复原先的中断入口地址pushecxmovecx,dwordptrOldInterruptAddressmovwordptr,
1、用汇编语言编写程序,请哪位高手看看我错在哪里,谢谢!
;刚刚写好,呵呵,本人测试通过了,希望对您有帮助,为了方便你看,我加了些注释,有问题可以问我…ASSUMECS:CODE,DS:DATADATASEGMENTBUFFDB10DB?DB10DUP(?)RESULTDW?RESULT_SHOWDB10DUP(?)DATAENDSCODESEGMENTSTART:MOVAX,
AXLEADX,BUFFMOVAH,0AHINT21HMOVDI,0L0:;统计一共有多少个数字组成CMPBYTEPTRDS:[DI 2],0DHJZGOINCDIJMPL0GO:;计算第n个斐波那契数,把数字字符串转换为十进制数MOVBL,10MOVAX,1MOVSI,DI;为后面判断输入的是不是只输入一个数有用MOVCX,
2、我写的汇编程序,哪里有错
DATASEGMENTSTRINGDB0DH,0AH,PLEASEPRESSNUMBER1( ),2(),3(*),4(/),5(EXIT):$BUFFDB10DB0DB10DUP(0)ARRAY1DB0DH,0AH,PLEASEINPUTTHEFIRSTNUMBER:$ARRAY2DB0DH,0AH,PLEASEINPUTTHESECONDNUMBER:$ARRAYDW2DUP(0)RESULTDB10DUP(0),
0AH,$DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXAGED:MOVDX,OFFSETARRAY1MOVAH,9INT21HMOVDX,OFFSETBUFFMOVAH,0AHINT21HCALLABCCMPCX,0JZLASTMOV[ARRAY]。