키보드에서 숫자를 읽고이를 buf라는 배열에 저장했습니다. 또한 len 변수에 배열의 길이가 있습니다.어셈블리의 배열 요소 수를 계산하십시오.
지금 배열에서 번호를 계산하려고합니다. 내 코드는 다음과 같습니다.
xor si, si
xor bx, bx ; made them 0
start_for:
cmp si, len
je end_for
mul bx, 10 ; I think here is the problem!
mov al, buff[si]
sub al, '0'
add bx, ax
inc si
jmp start_for
end_for:
무엇이 문제입니까?
'mul bx, 10'줄이 효과가 없다는 것을 디버깅하는 것으로 나타났습니다.
AS는 숫자가 넘치기 전까지 만 65535 자까지 증가 할 수 있습니다. 현재 발생한 문제입니까? 더 작은 숫자에 대해 코드 작업을합니까? –
아니요, 배열의 항목 수에 관계없이 작동하지 않습니다. – Sorin
아래 답변의 ah 문제는 좋은 팁입니다. –