javadt
پنج شنبه 08 تیر 1391, 18:27 عصر
سلام
من باید پروژه ماشین حساب بنویسم
برای راه افتادن سمپل calc نرم افزار emulator 8086 رو دیدم چند تا سوال داشتم ممنون می شم دوستان کمکم کنند
این کد هست که دو عدد رو جمع می کنه
#make_COM#
include 'emu8086.inc'
ORG 100h
JMP START
; declaration of variable:
num DW ?
START:
; get first number:
CALL PTHIS
DB 13, 10, 'Calculation Range: [-32768..32767]', 13, 10
DB 13, 10, 'Enter first number: ', 0
CALL scan_num
; keep first number:
MOV num, CX
; get second number:
CALL PTHIS
msg2 DB 13, 10, 'Enter second number: ', 0
CALL scan_num
; add numbers:
ADD num, CX
JO overflow
; print the result:
CALL PTHIS
DB 13, 10, 'The sum is: ', 0
MOV AX, num
CALL print_num
JMP exit
; process overlow error:
overflow:
PRINTN 'We have overflow!'
exit:
RET
DEFINE_SCAN_NUM
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS
; PTHIS prints NULL terminated
; string defined just after
; the CALL PTHIS instruction:
DEFINE_PTHIS
;=================================
END
ممنون می شم یک توضیح در مورد این کدها بدید
تشکر
CALL PTHIS
چرا قبل از هر رشته از PTHIS استفاده می شه؟
DB 13, 10, 'Calculation Range: [-32768..32767]', 13, 10
این اعدا برای چی هستند؟
msg2 DB 13, 10, 'Enter second number: ', 0
msg2 چیه؟
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS
فذق این دو دستور چیه؟
من باید پروژه ماشین حساب بنویسم
برای راه افتادن سمپل calc نرم افزار emulator 8086 رو دیدم چند تا سوال داشتم ممنون می شم دوستان کمکم کنند
این کد هست که دو عدد رو جمع می کنه
#make_COM#
include 'emu8086.inc'
ORG 100h
JMP START
; declaration of variable:
num DW ?
START:
; get first number:
CALL PTHIS
DB 13, 10, 'Calculation Range: [-32768..32767]', 13, 10
DB 13, 10, 'Enter first number: ', 0
CALL scan_num
; keep first number:
MOV num, CX
; get second number:
CALL PTHIS
msg2 DB 13, 10, 'Enter second number: ', 0
CALL scan_num
; add numbers:
ADD num, CX
JO overflow
; print the result:
CALL PTHIS
DB 13, 10, 'The sum is: ', 0
MOV AX, num
CALL print_num
JMP exit
; process overlow error:
overflow:
PRINTN 'We have overflow!'
exit:
RET
DEFINE_SCAN_NUM
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS
; PTHIS prints NULL terminated
; string defined just after
; the CALL PTHIS instruction:
DEFINE_PTHIS
;=================================
END
ممنون می شم یک توضیح در مورد این کدها بدید
تشکر
CALL PTHIS
چرا قبل از هر رشته از PTHIS استفاده می شه؟
DB 13, 10, 'Calculation Range: [-32768..32767]', 13, 10
این اعدا برای چی هستند؟
msg2 DB 13, 10, 'Enter second number: ', 0
msg2 چیه؟
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS
فذق این دو دستور چیه؟