تبديل اعداد مبناي 16 به مبناي 2 در ديباگ

برای تبدیل اعداد مبنای 16 به مبنای 2 در دیباگ به یادگیری چند مورد نیاز داریم .
استفاده از فلاگ ( FLAG ) و چرخشها ( ROTATIONS )
فلاگ ( FLAG ) :
برای مثال ما وقتی دو عدد FFFF و 10 را با هم جمع کنیم نتیجه چنین می شود :-R
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=137D  ES=137D  SS=137D  CS=137D  IP=0100   NV UP EI PL NZ NA PO NC
137D:0100 B8FFFF        MOV     AX,FFFF

-A 100
137D:0100 MOV AX,FFFF
137D:0103 MOV BX,10
137D:0106 ADD AX,BX
137D:0108
-G 108

AX=000F  BX=0010  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=137D  ES=137D  SS=137D  CS=137D  IP=0108   NV UP EI PL NZ NA PE CY
137D:0108 CD20          INT     20
با جمع دو عدد که جواب آن بزرگتر از خود پیمانه ( ثبات یا متغیر )  باشد عمل سرریز یا ( OVERFLOW ) رخ میدهد که در فلاگ حمل ( NC-CY ) مشخص میشود . وقتی سرریز صورت بگیرد فلاگ به صورت CY تغییر میکند که میگوییم فلاگ ست شده است .

چرخشها ( ROTATIONS ) :
دستور RCL یکی دیگر از دستورات زبان ماشین است که فلاگ حمل را به سمت راست عدد مورد نظر ( در مبنای 2 )اضافه میکند و آخرین عدد سمت چپ را در فلاگ قرار میدهد .
7hvi379g8pdfjsb0fem.jpg
ما اگر بطور دستی یک چرخه کامل عدد خود را با استفاده از دستور فوق اجر کنیم خواهیم داشت :
( برای مثال عدد B7 که در مبنای 2 ( 10110111 ) میشود :

0    10110111
1    01101110
0    11011101
1    10111010
1    01110101
0    11101011
1    11010110
1    10101101
1    01011011
0    10110111
حالا ما با دستور جدید ( ADC ) يا همان ( ADD WITH CARRY )  میتوانیم عدد مورد نظر را یک به یک با فلاگ نقلی ( حمل ) جمع کنیم و از آن استفاده کنیم .کد اسکی کاراکتر "0" عدد 30H و کاراکتر "1" عدد 31H میباشد .
ما در اينجا عدد F0 را براي تبديل در bl قرار ميدهيم :-A 1000AFD:0100 MOV BL,F0
0AFD:0102 MOV AH,02
0AFD:0104 MOV CX,0008
0AFD:0107 MOV DL,00
0AFD:0109 RCL BL,1
0AFD:010B ADC DL,30
0AFD:010E INT 21
0AFD:0110 LOOP 107
0AFD:0112 INT 20
0AFD:0114
-G
11110000
Program terminated normally
-


مطالب مشابه :


تبدیل مبناها به یکدیگر

تبدیل مبناهای 2 به 8 ، 10 ، 16 تبدیل مبنای 8 به 2 ، 10 ، 16 تبدیل مبنای 10 به 2 ، 8 ، 16 ، و بالاخره تبدیل




آموزش تبدیل مبنا ها

تبدیل مبنای ۱۰ به 16. یعنی عدد مبنای ۸ را ۳ بیت ۳بیت به مبنای ۲ برده سپس ۴ بیت ۴ بیت




اصول تبدیل اعداد

تبدیل از مبنای 2 به 16: برای تبدیل از مبنای 2 به مبنای 16 از ممیزبطرف راست وچپ اعداد را چهار




تبديل مبناها (مبانی سال دوم کامپیوتر)

تبديل مبناي 16 به 10 : 16=>10::: (9d7a)=(10*16^0)+(7*16^1)+(13*16^2)+(9*16^3)=40314




تبديل اعداد مبناي 16 به مبناي 2 در ديباگ

برای تبدیل اعداد مبنای 16 به مبنای 2 در دیباگ به یادگیری چند مورد نیاز داریم . استفاده از فلاگ




برنامه تبدیل مبنای 10 به مبنای 2 (++C & C)

برنامه تبدیل مبنای 10 به مبنای 2 برنامه تبدیل مبنای 10 به مبنای 2 (++c & c) برنامه زبان c:




خلاصه آموزشی از درس اسمبلی

تبدیل مبنای 2 به 16 و اعداد اعشاری مبنای 2 به مبنای 10. برای تبدیل اعداد اعشاری




برچسب :