Re: [問卦] 資工系根本文組吧? x=x+1是三小?

作者: style520 (再一次的門外漢,財團見)   2021-11-19 20:01:18
※ 引述《gtjs45 (光頭爵士)》之銘言
: ※ 引述《mikemagic88》之銘言
: : 肥宅我看我朋友資工系的
: : 寫那什麼鬼算式
: : x = x + 1
: : 到底是三小?
: : 我看資工系根本就文組吧
: : 連國中數學都出問題
: : 有沒有八卦?
: 小弟文組,但是上過一些巨匠電腦課程
: 應該可以簡單回答你
: 用最長見的c來解釋吧
: 你在x=x+1前,一定要先宣告x
: 所以大概會長這樣:
: —————————
: int x=0;
: x=x+1;
: —————————
: 接著compiler 會幫你轉換成assembly
: 大概像這樣:
: —————————
: SUB %SP,$4,%SP
: MOV $0,-4(%BP)
: ADD -4(%BP),$1,%0
: MOV %0,-4(%BP)
: —————————
: C語言會用一個stack來暫存變數,
: 你可以看到%SP跟%BP
: 就是分別指向stack 的top跟base的pointer,指標下移一個位置(-4)儲存變數(a),接
: 著對變數-4(%BP)加1存到暫存位置(%0)最後再搬回去-4(%BP)
: 最後這些assembly 會按照指令集定義(例如mips)轉換成0101的形式,再透過cpu裡面的l
: ogic gate運算,完成你的加法
高階文組:
int x=0
x=x+1
組合文組:
addi $sp, $sp, -4
lw $a0, 0($sp)
and $a0, $a0, 0
addi $a0, $a0, 1
sw $a0, 0($sp)
addi $sp, $sp, 4
機器文組:
0x23BDFFFC
0x8FA40000
0x00802024
0x20840001
0xAFA40000
0x23BD0004
文組:
0010 0011 1011 1101 1111 1111 1111 1100
1000 1111 1010 0100 0000 0000 0000 0000
0000 0000 1000 0000 0010 0000 0010 0100
0010 0000 1000 0100 0000 0000 0000 0001
1010 1111 1010 0100 0000 0000 0000 0000
0010 0011 1011 1101 0000 0000 0000 0100
我物理的最近正在學文組的東西
最近有個疑惑……
文組是不是到最後都要多人混戰啊?
一堆1一堆0的

Links booklink

Contact Us: admin [ a t ] ucptt.com