تبديل اعداد مبناي 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 )اضافه میکند و آخرین عدد سمت چپ را در فلاگ قرار میدهد .
ما اگر بطور دستی یک چرخه کامل عدد خود را با استفاده از دستور فوق اجر کنیم خواهیم داشت :
( برای مثال عدد 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. برای تبدیل اعداد اعشاری
برچسب :
تبدیل مبنای 16 به 10