各位帮帮忙 看看汇编代码对不对或者该如何做 = =
各位帮帮忙 看看汇编代码对不对或者该怎么做 = =
do mo a ri ga do
第一个 从0500H这个单元起的1000个数,找出最小的,放入1000H中
第二个 以“#”(要求是以空格开头,我不知道怎么做>_<)开头,以“$”结尾的一个串,要求统计中间字符的个数
第三个 两个多字节的数相加,NUMBER的第一个单元放字节的个数,接着第一个多字节数,第二个多字节数,相加的结果放在第二个多字节数的后面 >_<
------解决方案--------------------
------解决方案--------------------
lz在日企?
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:DATAS,SS:STACKS START 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 RET START ENDP CODES ENDS END START [/size]
第二个 以“#”(要求是以空格开头,我不知道怎么做>_<)开头,以“$”结尾的一个串,要求统计中间字符的个数
- Assembly code
[size=18px] DATAS SEGMENT STRING DB '#','1','2','3','$' DATAS ENDS STACKS SEGMENT STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX LEA BX,STRING MOV CX,0 AGAIN: INC BX MOV AL,[BX] CMP AL,'$' JNZ NEXT JMP EXIT NEXT: INC CX JMP AGAIN EXIT: MOV AH,4CH INT 21H CODES 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 ENDS STACKS SEGMENT STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: 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 21H CODES ENDS END START [/size]
------解决方案--------------------
------解决方案--------------------
lz在日企?