刚学16位汇编,如何能分段写程序?
程序代码:
assume cs:code,ds:data,ss:stack data segment MSG_INFO db 'hello world',0 data ends stack segment stack db 128 dup (0) stack ends StringPorc segment strlen proc FAR uses CX DI pStr:WORD ;NEAR 段内跳跃 FAR 段跳跃 mov cx, 0FFFFH mov di,pStr CLD REPNZ SCASB JNZ QUIT mov ax,0FFFEH sub ax,cx ret QUIT: xor ax,ax ret strlen endp StringProc ends code segment start: mov ax, data mov ds,ax mov ax,stack mov ss,ax mov ax,StringPorc mov es,ax invoke strlen offset MSG_INFO mov ax,4C00H int 21H code ends end start [local]1[/local] 1. 这几个错误要怎么改?刚学汇编不是很懂。 2. 看到有人网上可以这样分段写(像C一样),但是我这样写就报错不知道为什么。求大佬告知。 这图是我扣的网上的代码: [local]2[/local] 感觉这样写和C都快一样了,还能传参,保存寄存器,外部在用invoke调用,但是我自己试了下(就是上面的代码)就各种报错,我看了王爽老师的那本汇编 书上也没介绍这种写法。求大佬告知这种写法的课程视频或者书。多谢!