. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->《IBM-PC汇编语言程序设计》支持区
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  求助 关于实验11 的错误  [待解决] 回复[ 3次 ]   点击[ 606次 ]  
pascale
[帖 主]   [ 发表时间:2010-01-02 11:28 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-10-15 12:54
求助链接:http://www.asmedu.net/blog/user/postcontent.jsp?neighborId=14718&kindId=18978&postId=44700&readSg=1
mess
[第1楼]   [ 回复时间:2010-01-04 10:16 ]   [引用]   [回复]   [ top ] 
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48
楼主正解。
shjnba
[第2楼]   [ 回复时间:2010-08-25 20:13 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-08-24 20:51
call  letterc 这个调用子程序 
jmp letterc   这个是转到这个标号 
是不是要分清楚啊!
zhuleilei_2010
[第3楼]   [ 回复时间:2010-10-22 16:58 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-19 17:59
对程序修改如下,编译通过。     
DATASG  SEGMENT
       MESS1  DB        "BEGINNER'S ALL-PURPOSE SYMBOLIC INSTRUCTION CODE.",0
      DATASG  ENDS
     STACKSG  SEGMENT
       MESS2  DB        100  DUP(?)
     STACKSG  ENDS

      CODESG  SEGMENT
              ASSUME    CS:CODESG,DS:DATASG,SS:STACKSG
        MAIN  PROC      FAR
      BEGIN:  MOV       AX, DATASG
              MOV       DS, AX
              MOV       SI, 0
              CALL      LETTERC
                     
              MOV       AX, 4C00H
              INT       21H

              RET
        MAIN  ENDP
;
     LETTERC  PROC      NEAR
              CMP       BYTE PTR MESS1[SI], "0"
              JE        OVER
              CMP       BYTE PTR[SI], 'a'
              JB        BACK
              CMP       BYTE PTR[SI], 'z'
              JA        BACK
              AND       BYTE PTR[SI], 11011111B
       BACK:  INC       SI
              JMP       LETTERC
       OVER:  RET
     LETTERC  ENDP

      CODESG  ENDS
              END       BEGIN

请楼主在使用汇编语言编程时一定要使用正确的汇编格式!!!
另外,call指令后出现的是子程序的入口地址,所以一定要在程序段中定义一个子程序!
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved