汇编语言编程题,总共三道题。求大神解答,财富值不够可以商量。我qq874746173

 我来答
永恒pascal
2017-04-05 · TA获得超过4357个赞
知道大有可为答主
回答量:3902
采纳率:93%
帮助的人:663万
展开全部
第20.1题:
        CODE  SEGMENT
              ASSUME    CS:CODE
              ORG       100H
      START:  JMP       BEGIN
      SOURCE  DB        0AAH,74H,0EEH,0A8H,43H,0EEH,0AAH,31H,0EEH,0AAH,10H,0EEH
       COUNT  EQU       $-SOURCE
      RESULT  DB        COUNT/3 DUP(?)
      BEGIN:
              PUSH      CS
              POP       DS
              PUSH      CS
              POP       ES
              LEA       SI,SOURCE
              LEA       DI,RESULT
              MOV       CX,COUNT
              SUB       CX,2
         @0:
              LODSB
              CMP       AL,0AAH
              JNE       @2
              CMP       BYTE PTR[SI+1],0EEH
              JNE       @2
              MOV       AL,[SI]
              STOSB
              ; add si,2
         @2:
              LOOP      @0
              MOV       AH,4CH
              INT       21H
        CODE  ENDS
              END       START

第20.2题:
        CODE  SEGMENT
              ASSUME    CS:CODE
              ORG       100H
      START:  JMP       BEGIN
      SOURCE  DB        'abc',13,10,'123',13,10,'+-*',13,10,00
      RESULT  DB        100 DUP(?)

      BEGIN:  PUSH      CS
              POP       DS
              PUSH      CS
              POP       ES
              LEA       SI,SOURCE
              LEA       DI,RESULT
         @0:
              LODSW                 ; 装入字
              DEC       SI          ; si减一,相当于装入字节
              CMP       AX,0A0DH    ; 比较换行回车
              JNE       @1          ; 不等于转 @1
              INC       SI          ; 等于时 si加一跳过 0AH
              STOSB                 ; 传送 al
              JMP       @0          ; 转循环开始
         @1:
              CMP       AL,0        ; al 和 00 比较
              JE        @2          ; 等于 转 @2
              STOSB                 ; 不等于时 传送al
              JMP       @0          ; 转循环开始
         @2:
              STOSB                 ; 传送 00
              MOV       AH,4CH
              INT       21H
        CODE  ENDS
              END       START

第20.3题:
code  segment
      assume cs:code
      org 100h
start:
      jmp bbb
result db 100 dup(?)
count dw 0

bbb:  push cs
      pop ds
      push cs
      pop es
      mov word ptr count,0
      mov cx,101
      lea di,result
      inc di
      mov si,100
mlp:
      mov ax,si
      call f
      cmp ax,1
      jne @1
      inc word ptr count
      mov ax,si
      stosb
@1:
      inc si
      loop mlp
      mov ax,count
      mov result[0],al
    ;  call writeint
      mov ah,4ch
      int 21h

; 要判断的数放入ax中
; ax返回1时表示是素数
; ax返回0时表示是合数
f     proc near
      jmp f1
x     dw ?
x2    dw ?
f1:   mov [x],ax
      shr ax,1
      mov [x2],ax
      mov bx,2
flp:  mov dx,0
      mov ax,[x]
      div bx
      cmp dx,0
      je f2
      inc bx
      cmp bx,[x2]
      jle flp
      mov ax,1
      ret
f2:   mov ax,0
      ret
f     endp

code  ends
      end start
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式