当前位置: 代码迷 >> 汇编语言 >> 各位帮帮忙 看看汇编代码对不对或者该如何做 = =
  详细解决方案

各位帮帮忙 看看汇编代码对不对或者该如何做 = =

热度:1771   发布时间:2013-02-26 00:00:00.0
各位帮帮忙 看看汇编代码对不对或者该怎么做 = =
do mo a ri ga do

第一个 从0500H这个单元起的1000个数,找出最小的,放入1000H中
Assembly code
[size=18px]DATAS SEGMENT   DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENT    ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART PROC FAR    PUSH DS    MOV AX,0    PUSH AX    MOV AX,DATAS    MOV DS,AX    MOV BX,OFFSET 0500H    MOV CX,999    MOV AL,[BX]AGAIN:    INC BX    CMP AL,[BX]    JLE NEXT    MOV AL,[BX]NEXT:    DEC CX    JNZ AGAIN    MOV BX,OFFSET 1000H    MOV [BX],AL    RETSTART ENDP    CODES ENDS    END START[/size]




第二个 以“#”(要求是以空格开头,我不知道怎么做>_<)开头,以“$”结尾的一个串,要求统计中间字符的个数
Assembly code
[size=18px]DATAS SEGMENT    STRING DB '#','1','2','3','$' DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENT    ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:    MOV AX,DATAS    MOV DS,AX    LEA BX,STRING    MOV CX,0AGAIN:    INC BX    MOV AL,[BX]    CMP AL,'$'    JNZ NEXT    JMP EXITNEXT:    INC CX    JMP AGAINEXIT:    MOV AH,4CH    INT 21HCODES ENDS    END START[/size]


第三个 两个多字节的数相加,NUMBER的第一个单元放字节的个数,接着第一个多字节数,第二个多字节数,相加的结果放在第二个多字节数的后面 >_<

Assembly code
[size=18px]DATAS SEGMENT   NUMBER DB 8,01H,02H,03H,04H,01H,02H,03H,04H   COUNT DB ? DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENT    ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:    MOV AX,DATAS    MOV DS,AX    MOV BX,OFFSET NUMBER    MOV AX,[BX]    MOV BP,AX    MOV COUNT,AL    MOV DI,OFFSET NUMBER+[BP]+1    DIV CL    MOV BP,AX    MOV SI,OFFSET NUMBER+[BP]    AGAIN:    MOV AL,[SI]    MOV [DI],AL    INC DI    INC SI    DEC CL    JNZ AGAIN    MOV AH,4CH    INT 21HCODES ENDS    END START[/size]




------解决方案--------------------------------------------------------
探讨
do mo a ri ga do 
第一个 从0500H这个单元起的1000个数,找出最小的,放入1000H中
Assembly code
[size=18px]
DATAS SEGMENT
DATAS ENDS
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:D……

------解决方案--------------------------------------------------------
lz在日企?
  相关解决方案